苹果官网对xcode版本的要求

xcode版本的要求

英文

https://developer.apple.com/ios/submit/
在这里插入图片描述

中文

https://developer.apple.com/cn/app-store/submissions/
在这里插入图片描述

对比

对比之下,充分说明了英文版的好。
“4月”和“April 30”,差好远。说好的信达雅呢?
所以,一定要学好英语。

下载

https://developer.apple.com/download/more/
在这里插入图片描述
选一个合适的版本吧。
如上面的,要求11,11有这么多,选哪个?
选正式版。
正式版有11、11.1、11.2、11.2.1、11.3、11.3.1这6个,选哪个?
去官网、官方论坛、其它论坛看一下,哪个稳定用哪个。因为有些版本很坑爹,各种闪退。

Xcode对macOS版本的要求

下载到合适的Xcode版本之后,会发现,自己的macOS太低。
在这里插入图片描述
其实更聪明的办法是,要提前知道Xcode对macOS版本的要求。苹果官网一般会在Xcode的Release Notes 里面有写这个要求。
我是怎么知道Release Notes有的?经验,猜的,一般都有的。好吧,不装逼了,用搜索引擎搜出来的。比如,这样子 “xcode 11.2” requires “macos” (引号是必须要有的意思)在这里插入图片描述

升级macOS版本

如果你的mascOS版本太低,就升级到要求的版本吧。
如果直接升级到最新,会有兼容问题(如果,Unity2017.4.26f1在macOS 10.15+的版本会有音频导入失败等问题,要升级到Unity2017.4.34f1+)。所以,升级系统时,只升级一个小版本号,或者升级到指定版本号,而不是最新版本的话,可以在Apple Support Downloads site 下载(参考:几种OS X更新(升级)的不同方式)。

Xcode 更改默认版本 xcode-select

Xcode版本路径

xcode-select -p
#or xcode-select --print-path

查看xcode-select版本

xcode-select -v
# or xcode-select --version

修改Xcode使用版本

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
# or sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

删除描述文件(Provisioning Profiles)

为什么要删

为什么要删除?因为如果旧的走,新的导入了,可能Xcode还是用旧的,导致打不了包。

怎么删

所有Provisioning Profiles所在路径:~/Library/MobileDevice/Provisioning Profiles
在这里插入图片描述
但,它的命名用了一个不知道什么id(uuid?)
怎么知道当前用的是哪个,要删除哪个呢?

这样了,拉一出来,就能看到名字。看动画:
[TODO]

在这里插入图片描述

然后回到Provisioning Profiles,根据名字删除。

更新证书之后,通过命令行打包时读取的配置需要相应地更新

一般会有profile_xxx.plist这个plist配置来指定命令行打包时用哪个证书

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>uploadSymbols</key>
	<true/>
	<key>provisioningProfiles</key>
	<dict>
		<key>com.xxx.xxx.sticker</key>
		<string>abcc467f-c4c8-abc7-abc6-abc6ef847bc7</string>
		<key>com.xxx.xxx</key>
		<string>abcbc229-abca-abc6-abc1-abc137241056</string>
	</dict>
	<key>complieBitcode</key>
	<false/>
	<key>method</key>
	<string>enterprise</string>
</dict>
</plist>

类似这样,这时你要打开Provisioning Profiles文件,就是上面的xxxx.mobileprovision,找到uuid,填到plist
在这里插入图片描述
[Q]升级Xcode之后,会自动选了旧的描述文件?抑或自动删除了新的描述文件?

另外,xcode工程中的描述文件的记录也是有点迷哦。如下:

git中版本
//工程可视化
com.tencnet.swy
com.tencent.swy Development
profile:4b7030ca-61a4-47ca-81b3-31d94e30aed2
//工程文本:
PROVISIONING_PROFILE = “344ad087-f784-4f83-96c5-128faaa31146”;
PROVISIONING_PROFILE_SPECIFIER = “com.tencent.swy Development”;

//打包配置:4b7030ca-61a4-47ca-81b3-31d94e30aed2

//换成不合法的com.tencent.swy AppStore描述文件
//只改了PROVISIONING_PROFILE_SPECIFIER这个,注意,PROVISIONING_PROFILE没有变。
PROVISIONING_PROFILE_SPECIFIER = “com.tencent.swy AppStore”;

信任证书密钥

不然打包过程中会弹出来问你,在CI机上,第一次要人看着,不友好。

这样子,类似(并不是完全一样的),要点一下。
在这里插入图片描述
导入了之后,马上这样操作一下,就好啦,CI无人值守:
钥匙串访问-我的证书-双击你刚刚导入的证书-点左侧三角,展开证书对应的密钥,设置信任codesign使用密钥(直接全部信任也行)。

[TODO]
在这里插入图片描述

app与stick等外加组件的描述文件对应的证书需要保持一致

在这里插入图片描述
只更新了stick的证书和描述文件,没有更新app的描述文件。导致打包报错,不匹配,不能打包。

即:
app用的描述文件中使用的是证书A。
stick用的描述文件中使用的是证书B。
这时,打包会报错,报stick用的证书和stick的老豆(即app)用的证书不一致。

所以,现在需要更新app的描述文件,使它包含和stick一致的证书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值