修改输入框切换快捷键,互换ctrl键和command键。
下载SourceTree,拉取项目git。
安装UnityHub,安装后无法打开。多次尝试放弃,直接安装对应版本的Unity。
安装成功,打开项目报错:

需要修改硬盘的文件系统,取消case sentive。
重装系统。
安装Unity
打包尝试失败,更新系统,安装xcode。
尝试打包IOS,报错:

但是并未显示具体的错误信息。删除项目的Library文件夹重新尝试。
报错:


参考:https://forum.unity.com/threads/getting-backend-produced-unparsable-log-entry-after-upgrading.1288355/ 尝试升级Firebase,未解决
参考:https://forum.unity.com/threads/stderr-tundra-error-unexpected-stdin.1257171/ 安装 Python3 并在命令行执行以下命令:
textsudo ln -s /usr/local/bin/python3 /usr/local/bin/python
创建一个python链接至python3,然后不再报错可以进行Build。
用Xcode打开项目,点击左上角Xcode点击Setting点击Accounts,登陆开发者账号。
发现Xcode不显示我的开发团队,经过各种尝试后,将账号权限从开发者改为管理员后才显示开发团队。
使用Xcode构建运行,报错 FBSDKCoreKit 未找到。(后续结论:打包后需要为xcworkspace项目,不能仅是xcodeproj)
回到Unity,Unity中的CocoaPods未正确安装。需要安装Ruby。
先安装homebrew,然后参考https://www.jianshu.com/p/bbe6d6860881 安装Ruby。注意Ruby版本,CocoaPods需要特定版本的Ruby。安装CocoaPods。 使用以下命令安装CocoaPods各种失败。
gem install -n /usr/local/bin cocoapods
改为:
brew install cocoapods
回到Unity打包,报错:

之前手动更新过Firebase,在GitHub撤销相关改动后,报错:

猜测为网络问题,多次重试后报错改为:

仍然是网络问题,需要对mac的命令行进行翻墙。
参考:https://www.jianshu.com/p/cd681a6d9715 参考:https://www.ancii.com/aqrzgnnwl/
打包成功后,使用Xcode运行。需要先开启手机的开发者模式。
运行后崩溃,崩溃信息:

需要添加相关权限,在plist文件中 新增Privacy - Tracking Usage Description 该id将用于向您推送个性化广告,参考:https://developer.apple.com/documentation/bundleresources/information_property_list/nsusertrackingusagedescription
重新运行报错:


回到Unity发现有第三方SDK有新版本,升级。重新打包并回到Xcode运行,报错:Unexpected failure。点击Product->Clean Build Folder 再重新打包成功。
运行后报错:


重新打包,又报回

返回Unity,MyAppController.h 与 MyAppController.mm 改名为 MyUnityAppController.h 与 MyUnityAppController.m
并且将 MyAppController.h 由:
c#//
// MyAppController.h
// UnityFramework
//
// Created by kongdao on 2022/11/22.
//
#ifndef MyAppController_h
#define MyAppController_h
#import "UnityAppController.h"
#define IMPL_APP_CONTROLLER_SUBCLASS(ClassName) \
@interface ClassName(OverrideAppDelegate) \
{ \
} \
+(void)load; \
@end \
@implementation ClassName(OverrideAppDelegate) \
+(void)load \
{ \
extern const char* AppControllerClassName; \
AppControllerClassName = #ClassName; \
} \
@end
@interface MyAppController : UnityAppController
-(void)getCountryCode;
-(void)SendMsg:(NSString *)methodName andValue:(NSString *)value;
@end
#endif /* MyAppController_h */
改为
c#//
// MyUnityAppController.h
// UnityFramework
//
// Created by kongdao on 2022/11/22.
//
#ifndef MyUnityAppController_h
#define MyUnityAppController_h
#import "UnityAppController.h"
@interface MyUnityAppController : UnityAppController
@end
#endif /* MyUnityAppController_h */
重新打包并在Xcode运行,运行成功。(但是卡在进度条不动)。
长时间挂机后广告报错:

修改游戏登录验证,暂改为直接跳过,解决卡进度条问题。
广告ID错误,修改后可以正常光看广告。
内购测试需要沙盒账号,登录了非沙盒账号导致测试失败。
打开手机 设置->App Store->沙盒账号 处选择退出,改为登录沙盒账号。
内购成功后,游戏内并未正常发放内购物品。
查看内购代码,内购相关代码为之前安卓使用的代码,并不与IOS的返回值匹配。
Unity IOS 内购参考:https://blog.csdn.net/yupu56/article/details/123121586 https://docs.unity3d.com/cn/2020.2/Manual/UnityIAPValidatingReceipts.html
添加Unity 自带的 IAP 内购验证后, 内购成功。
使用ICloud进行存档文件存储,参考:https://lab.uwa4d.com/lab/627404b7a8103dabd0103e59 https://github.com/playgameservices/play-games-plugin-for-unity
删包重新构建运行报错:

ICloud 每个Key有最大字节数限制,当前存档存储方式无法正常存储,需要修改相关逻辑。 参考:https://developer.apple.com/library/archive/documentation/General/Conceptual/iCloudDesignGuide/Chapters/DesigningForKey-ValueDataIniCloud.html#//apple_ref/doc/uid/TP40012094-CH7-SW1
打点相关逻辑修改并测试。
添加IOS唯一ID标识
构建发布测试版本,testfight 提示需要补全出口合规信息。若未加密,需要在plist文件中添加key: App Uses Non-Exempt Encryption
提交到App Store Connect 后,收到警告邮件,Missing Push Notification Entitlement。 解决参考:https://www.jianshu.com/p/f374a707f70f
重复提交到App Store Connect后,并看到新的提交版本,需要手动更新提交的版本号。
提审。
本文作者:Void
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!