升级到 XCFramework,添加模拟器支持

- 创建支持真机和模拟器的 XCFramework
- 模拟器版本使用空壳实现,用于开发调试
- 真机版本包含完整 Unity 运行时
- 更新 podspec 版本到 1.0.7
- 移除所有架构排除配置,XCFramework 自动处理
This commit is contained in:
zj
2025-11-25 13:37:00 +08:00
parent e6e3231876
commit 1256b5db50
623 changed files with 5330 additions and 24 deletions

View File

@@ -1,8 +1,8 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'UnityFramework' s.name = 'UnityFramework'
s.version = '1.0.6' s.version = '1.0.7'
s.summary = 'Unity iOS Framework for Flutter integration' s.summary = 'Unity iOS Framework for Flutter integration (XCFramework with simulator support)'
s.description = 'Unity iOS framework packaged as CocoaPod for Flutter projects.' s.description = 'Unity iOS framework packaged as XCFramework for Flutter projects. Includes simulator support for development.'
s.homepage = 'https://gitea.sdws.shop/xim/flutter_unity_pod' s.homepage = 'https://gitea.sdws.shop/xim/flutter_unity_pod'
s.license = { :type => 'MIT' } s.license = { :type => 'MIT' }
s.author = { 'xim' => 'dev@local' } s.author = { 'xim' => 'dev@local' }
@@ -13,9 +13,8 @@ Pod::Spec.new do |s|
# iOS 13 起 # iOS 13 起
s.platform = :ios, '13.0' s.platform = :ios, '13.0'
# UnityFramework.framework自动嵌入,仅真机 # UnityFramework.xcframework支持真机和模拟器
s.preserve_paths = 'UnityLibrary/UnityFramework.framework' s.vendored_frameworks = 'UnityLibrary/UnityFramework.xcframework'
s.vendored_frameworks = 'UnityLibrary/UnityFramework.framework'
# 链接依赖 # 链接依赖
s.frameworks = [ s.frameworks = [
@@ -27,27 +26,13 @@ Pod::Spec.new do |s|
s.libraries = 'z', 'c++' s.libraries = 'z', 'c++'
# Pod Target 配置:模拟器上排除 UnityFramework # XCFramework 会自动处理不同平台的架构和链接,无需额外配置
s.pod_target_xcconfig = { s.pod_target_xcconfig = {
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
'ENABLE_BITCODE' => 'NO', 'ENABLE_BITCODE' => 'NO'
# 模拟器上排除所有架构(不加载 UnityFramework
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64 x86_64 i386'
}
# User Target 配置只在真机上链接UnityFramework
s.user_target_xcconfig = {
# 仅在真机上添加framework搜索路径
'FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]' => '$(inherited) ${PODS_ROOT}/UnityFramework/UnityLibrary',
'FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]' => '$(inherited)',
# 仅在真机上弱链接UnityFramework
'OTHER_LDFLAGS[sdk=iphoneos*]' => '$(inherited) -weak_framework UnityFramework',
'OTHER_LDFLAGS[sdk=iphonesimulator*]' => '$(inherited)',
# 模拟器上排除所有架构(确保主 app 也排除)
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64 x86_64 i386'
} }
# 支持架构说明: # 支持架构说明:
# - 真机arm64 (自动嵌入和链接) # - 真机arm64(完整 Unity 运行时)
# - 模拟器:不支持(通过 EXCLUDED_ARCHS 排除,主 app 可正常运行 # - 模拟器:arm64, x86_64空壳实现用于开发调试
end end

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>UnityFramework.framework/UnityFramework</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>UnityFramework.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>UnityFramework.framework/UnityFramework</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>UnityFramework.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

Some files were not shown because too many files have changed in this diff Show More