Xcode版本:Xcode14
本文中会出现的名词有
苹果开发者账号、相关设备cer证书、开发者证书、发布证书
苹果开发者账号
账号分三类,个人,公司,企业,价格99/99/299美金
新注册账号的基本设置按网上的教程来就行
我们公司是企业账号,我的苹果开发者账号是公司一个User,这个和个人开发者不同。
账号还是非常重要的,要登记设备,以及添加项目信息。生成相关的证书文件并提供下载。
相关设备cer证书
先用大白话讲一下cer证书是什么,cer证书是开发者账号官网登记的设备密钥文件。
首先你作为开发人员,肯定得有Mac打包机、iphone手机两台机器对吧,这两台机器需要到苹果开发者官网登记,Mac电脑需要创建CertificateSigningRequest.certSigningRequest,iphone则是查看设备号,用这俩东西去官网登记设备,并返回两个cer文件,如下图所示
分别双击这俩cer文件,就会把设备以及开发者添加到钥匙串访问中,如下图
下面是一个比较全面的登记设备以及返回cer文件的文章
iOS证书(p12)获取解密公私钥https://blog.csdn.net/qiuziqiqi/article/details/113347001?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-113347001-blog-129500228.235%5Ev38%5Epc_relevant_sort_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-113347001-blog-129500228.235%5Ev38%5Epc_relevant_sort_base2&utm_relevant_index=9
开发者证书与发布证书
首先,获得开发者证书和发布证书的前提是,在开发者账号官网配置好项目信息,之后就可以下载这两个证书,如下图所示:开发者证书名字里带dev,发布证书带dis,文件类型都是mobileprovision
这俩证书有啥用???在Xcode工程中,必须选择开发者证书才能真机调试!!!
然后,发布项目必然要用到发布证书
Unity打包Xcode工程
打包要注意模拟器版本和真机版本,这个网上教程很多,我就不详述了
注意bundle名,version 以及TargetSDK是模拟器还是Device真机
打开Xcode工程(模拟器工程)
模拟器工程打开后长这个样子:
请注意红色箭头位置,选择对应的模拟器版本,直接运行,运行会自动创建对应的模拟器,在屏幕上类似一个手机
打开Xcode工程(真机调试工程)
看红框部分,我的打包机上插着iphone手机,所以能直接显示出来,没显示手机设备的同学手动去选择。
打开Xcode的 buildSetting
如果是默认armv7,要选成arm64
Build Options -- Enable Bicode选择No,可以在右上角筛选栏搜索bitcode
自动签名、手动签名二选一
下面是一篇详细介绍Provisioning Profile的文章,如果是手动签名,可能得去下载这个文件。
iOS 开发 Provisioning Profile(描述文件) 详解_上进求知,认真思辨的博客-CSDN博客iOS 开发 Provisioning Profile(描述文件) 详解1.Provisioning Profile 的概念'Provisioning Profile' 文件包含的内容:'证书'、'App ID' 和 '设备 ID'。一个 Provisioning Profile 对应一个 ‘Explicit App ID’ 或 Wildcard App ID(一组相同 Prefix/Seed 的_provisioning profilehttps://blog.csdn.net/kuangdacaikuang/article/details/52984398
简单看一下该文件包含写什么信息
提示:用户的Library文件夹默认是隐藏的,需要用访达-前往文件夹打开
路径:/Users/hailong/Library/MobileDevice/Provisioning Profiles
提示:把hailong改成你自己的用户名即可打开
下面介绍自动签名
选择工程并点击下图按钮打开描述文件管理界面
默认情况下,Team那一栏肯定是None,然后会提示你去选择,
现在都是用Automatically manage signing,自动管理签名,当你选择Team的那一瞬间,它会自动去下载描述文件,就是上文中提到的Provisioning Profile文件夹。如果没有报红,证明描述文件配置正确。
如果有报错,大概率是提示你要去BuildSetting设置Signing -- Code Signing Identity
手动签名:
把开发者证书导入进来,这里有三个报错,这个错不用管,是我子账号的报错。如果有其他报错,例如让你修改Build Setting,按照报错提示修改就好了。
设置Xcode工程的BundleVersion
和Unity工程保持一致,之前好像因为这个版本号不一致导致加载有问题
点击运行按钮,真机调试
点击运行,在红框位置会显示编译进度(百分比进度),编译成功后显示正在往手机中copy,最后会显示我截图中的样子
如果是首次真机安装包,会自动帮你打开APP,如果非首次则不帮你打开,但都会开启调试窗口,就是截图中白色的log,可以手动把白色窗口拉大,方便查看信息,
正好这里有从StreamingAsset加载AB包的报错,截图给大家展示一下如何用Xcode调试自己的报错,其实和Unity看Log差不太多,有报错原因,调用堆栈。
解决StreamingAsset加载的Bug
通过Debug.LogError发现,打AB包的文件清单在Application.StreamingAsset找不到,邪了门了,不过真机调试有个好处,就是可以查看手机包里的内容,操作如下:
找到你向保存的路径,点击save
我保存的位置是文稿,app数据扩展名是.xcappdata
鼠标右键,显示包内容
PersistantAssetts路径: /Users/hailong/Documents/com.zmtm.hqhy 2023-08-08 11:46.06.xcappdata/AppData/Documents/master
StreamingAsset路径看不到,但是可以打印出来
其实不用关心StreamingAssets文件夹,因为它是个只读文件夹,不允许写入,因此你可以看一下Xcode工程中的Data--Raw文件夹,它就是你Unity的StreamingAssets文件夹,如下图,我的Unity
可以看到,Xcode工程的Data--Raw文件夹和我Unity工程的StreamingAssets文件夹文件保持一致
报错记录:
编译过程报错,
1、link library缺失
2、bitCode未关闭
真机启动时报错
dyld: Symbol not found: __ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
Referenced from: /private/var/containers/Bundle/Application/2F8A91D5-E2B7-4264-A004-1FCF0EC770BB/hqhy.app/hqhy
Expected in: /usr/lib/libc++.1.dylib
in /private/var/containers/Bundle/Application/2F8A91D5-E2B7-4264-A004-1FCF0EC770BB/hqhy.app/hqhy
dyld: launch, loading dependent libraries
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib:/Developer/Library/PrivateFrameworks/GPUTools.framework/libglInterpose.dylib
(lldb) 文章来源:https://www.toymoban.com/news/detail-618851.html
文章来源地址https://www.toymoban.com/news/detail-618851.html
到了这里,关于[游戏开发][Unity] 打包Xcode工程模拟器+真机调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!