Xcode版本:Xcode14

本文中会出现的名词有

苹果开发者账号相关设备cer证书开发者证书发布证书

苹果开发者账号

账号分三类,个人公司企业,价格99/99/299美金

注册账号基本设置网上教程来就行

我们公司企业账号,我的苹果开发账号公司一个User,这个和个人开发者不同。

账号还是非常重要的,要登记设备,以及添加项目信息生成相关证书文件并提供下载

相关设备cer证书

先用大白话讲一下cer证书是什么,cer证书是开发账号官网登记的设备密钥文件

首先你作为开发人员,肯定得有Mac打包机、iphone手机两台机器对吧,这两台机器需要苹果开发官网登记,Mac电脑需要创建CertificateSigningRequest.certSigningRequest,iphone则是查看设备号,用这俩东西去官网登记设备,并返回两个cer文件,如下图所示

 分别双击这俩cer文件,就会把设备以及开发者添加钥匙访问中,如下图

 下面是一个比较全面的登记设备以及返回cer文件的文章

iOS证书(p12)获取解密私钥icon-default.png?t=N7T8https://blog.csdn.net/qiuziqiqi/article/details/113347001?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.nonetaskblog-2~default~CTRLIST~Rate-4-113347001-blog-129500228.235%5Ev38%5Epc_relevant_sort_base2&depth_1-utm_source=distribute.pc_relevant.nonetaskblog-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手机,所以能直接显示出来,没显示手机设备的同学手动选择

打开XcodebuildSetting

如果是默认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://blog.csdn.net/liuyongjie1992/article/details/131934221

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_20174.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注