Xcode版本:Xcode14
本文中会出现的名词有
苹果开发者账号
我们公司是企业账号,我的苹果开发者账号是公司一个User,这个和个人开发者不同。
账号还是非常重要的,要登记设备,以及添加项目信息。生成相关的证书文件并提供下载。
相关设备cer证书
先用大白话讲一下cer证书是什么,cer证书是开发者账号官网登记的设备密钥文件。
首先你作为开发人员,肯定得有Mac打包机、iphone手机两台机器对吧,这两台机器需要到苹果开发者官网登记,Mac电脑需要创建CertificateSigningRequest.certSigningRequest,iphone则是查看设备号,用这俩东西去官网登记设备,并返回两个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手机,所以能直接显示出来,没显示手机设备的同学手动去选择。
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
下面介绍自动签名
默认情况下,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找不到,邪了门了,不过真机调试有个好处,就是可以查看手机包里的内容,操作如下:
PersistantAssetts路径: /Users/hailong/Documents/com.zmtm.hqhy 2023-08-08 11:46.06.xcappdata/AppData/Documents/master
其实不用关心StreamingAssets文件夹,因为它是个只读文件夹,不允许写入,因此你可以看一下Xcode工程中的Data–Raw文件夹,它就是你Unity的StreamingAssets文件夹,如下图,我的Unity
可以看到,Xcode工程的Data–Raw文件夹和我Unity工程的StreamingAssets文件夹文件保持一致
报错记录:
真机启动时报错
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://blog.csdn.net/liuyongjie1992/article/details/131934221
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_20174.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!