flutter_unity_pod/README.md
2025-11-25 14:14:57 +08:00

149 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# UnityFramework Pod
Unity iOS Framework 打包为 CocoaPods支持真机和模拟器。
## 特性
- ✅ 支持真机运行(完整 Unity 运行时)
- ✅ 支持模拟器运行(空壳实现,用于开发调试)
- ✅ XCFramework 格式,自动处理不同平台
- ✅ 简单的升级流程
## 架构支持
| 平台 | 架构 | 说明 |
|------|------|------|
| 真机 | arm64 | 完整的 Unity 运行时 |
| 模拟器 | arm64, x86_64 | 空壳实现,方便开发 |
## 使用方法
### 在 Podfile 中引入
#### 使用 Git 仓库(推荐)
```ruby
pod 'UnityFramework', :git => 'https://gitea.sdws.shop/xim/flutter_unity_pod.git', :tag => '1.0.7'
```
#### 使用本地路径(开发调试)
```ruby
pod 'UnityFramework', :path => '/path/to/flutter_unity_pod'
```
### 安装
```bash
cd ios
pod install
```
## 升级 Framework
当有新的 Unity Framework 导出时,使用自动化脚本升级:
```bash
./upgrade_framework.sh /path/to/new/UnityFramework.framework
```
详细步骤请参考 [UPGRADE_GUIDE.md](./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 代码中也有检测:
```dart
// 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 包含模拟器架构:
```bash
lipo -info UnityLibrary/UnityFramework.xcframework/ios-arm64_x86_64-simulator/UnityFramework.framework/UnityFramework
```
### 真机构建失败
检查真机 framework 是否完整:
```bash
ls UnityLibrary/UnityFramework.xcframework/ios-arm64/UnityFramework.framework/
```
### Pod install 失败
清理缓存重试:
```bash
pod cache clean UnityFramework --all
rm -rf Pods Podfile.lock
pod install
```
## License
MIT
## 联系方式
- 仓库https://gitea.sdws.shop/xim/flutter_unity_pod
- 问题反馈:请创建 Issue