2025-12-10 10:54:55 +08:00
2025-11-25 14:14:57 +08:00
2025-12-10 10:54:55 +08:00
2025-11-28 16:58:17 +08:00
2025-11-25 14:14:57 +08:00

UnityFramework Pod

Unity iOS Framework 打包为 CocoaPods支持真机和模拟器。

特性

  • 支持真机运行(完整 Unity 运行时)
  • 支持模拟器运行(空壳实现,用于开发调试)
  • XCFramework 格式,自动处理不同平台
  • 简单的升级流程

架构支持

平台 架构 说明
真机 arm64 完整的 Unity 运行时
模拟器 arm64, x86_64 空壳实现,方便开发

使用方法

在 Podfile 中引入

使用 Git 仓库(推荐)

pod 'UnityFramework', :git => 'https://gitea.sdws.shop/xim/flutter_unity_pod.git', :tag => '1.0.7'

使用本地路径(开发调试)

pod 'UnityFramework', :path => '/path/to/flutter_unity_pod'

安装

cd ios
pod install

升级 Framework

当有新的 Unity Framework 导出时,使用自动化脚本升级:

./upgrade_framework.sh /path/to/new/UnityFramework.framework

详细步骤请参考 UPGRADE_GUIDE.md

项目结构

flutter_unity_pod/
├── UnityLibrary/
│   └── UnityFramework.xcframework/      # 主 XCFramework
│       ├── ios-arm64/                    # 真机版本
│       │   └── UnityFramework.framework/
│       └── ios-arm64_x86_64-simulator/   # 模拟器版本
│           └── UnityFramework.framework/
├── simulator_stub/
│   └── UnityFrameworkStub.m              # 模拟器空壳实现
├── build_xcframework.sh                  # 初始构建脚本
├── upgrade_framework.sh                  # 升级脚本
├── UPGRADE_GUIDE.md                      # 升级指南
└── UnityFramework.podspec                # Pod 配置文件

开发说明

模拟器行为

模拟器版本是空壳实现,所有 Unity 相关方法都会返回空或不执行。当尝试在模拟器运行 Unity 时,会输出日志:

UnityFramework: Simulator stub - Unity not available

在 Flutter 代码中也有检测:

// lib/common/utils/unitygame/unity_game_manager.dart:997-1004
if (Platform.isIOS) {
  final isSimulator =
      Platform.environment.containsKey('SIMULATOR_DEVICE_NAME') ||
          Platform.environment.containsKey('SIMULATOR_UDID');
  if (isSimulator) {
    showToast('Unity 游戏仅支持真机运行,请在真机上体验。');
    return;
  }
}

构建流程

  1. 编译模拟器空壳arm64 + x86_64
  2. 合并真机 framework
  3. 创建 XCFramework
  4. 打包为 CocoaPod

版本历史

1.0.7 (2024-11-25)

  • 升级到 XCFramework
  • 添加模拟器支持
  • 简化配置,移除架构排除

1.0.6

  • 初始版本
  • 仅支持真机

故障排除

模拟器构建失败

确保 XCFramework 包含模拟器架构:

lipo -info UnityLibrary/UnityFramework.xcframework/ios-arm64_x86_64-simulator/UnityFramework.framework/UnityFramework

真机构建失败

检查真机 framework 是否完整:

ls UnityLibrary/UnityFramework.xcframework/ios-arm64/UnityFramework.framework/

Pod install 失败

清理缓存重试:

pod cache clean UnityFramework --all
rm -rf Pods Podfile.lock
pod install

License

MIT

联系方式

Description
No description provided
Readme 400 MiB
Languages
Objective-C 54.1%
C 31.5%
Shell 10.7%
Ruby 3.7%