【打包和发布app经验心得总结】
1.PP文件==Provisioning Profile文件
不论是Archive还是后续的打包成AdHoc或AppStore类型的app
都可以在打包期间,看到自己真正使用的是哪一个Provisioning Profile:
此处具体用了那个Provisioning Profile,可以通过点击右键头,打开Finder,定位到对应的PP文件:
-》
此处,如果你之前已经通过:
Code Signing中的Provisioning Profile中设置了对应的PP文件后:
-》
其实可以通过点击Other:
-》
-》从而得知:
刚才选择的:
实际上对应的是:
UUID为:
8f9401f1-07b8-45b6-91bd-a8a0d5fd4714
的PP文件:
8f9401f1-07b8-45b6-91bd-a8a0d5fd4714.mobileprovision
注:
iOS版本的Provisioning Profile文件的命名:
在在线的Member Center中,可以命名,
Xcode下载下来的,内部对应的PP文件格式是:
UUID.mobileprovision
UUID举例:
8f9401f1-07b8-45b6-91bd-a8a0d5fd4714.mobileprovision
-》
以便于你确认你之前选择了哪个PP文件
注意:
之前有时候是通过:
的:Xcode重启,而解决了PP文件的问题。
但是后来又遇到一次,重启Xcode都没用:
而是要:
先不要选择Provisioning Profile:
否就会出现:
上面的Code Signing identity中,debug和release中,就都找不到对应的PUSH service了:
即使先去KeyChain中删除PUSH service:
后重新双击文件添加:
Debug和release中也都还是无法找到Push sevice
然后只能是:
先去Provisioning Profile中去设置为Automatic:
然后
Code Signing identity中,debug和release中
就可以选择Push service了:
然后重新设置Provisioning Profile:
最终设置我们所需要的效果:
2.如果你的项目Target-》General-》Deployment Info-》Devices,设置了Universal
意味着:
除了你的代码本身应该支持iPhone和iPad之外
发布app时,也要传对应的尺寸的iPhone或iPad的截图,即:
4.7 英寸、5.5 英寸、4 英寸、3.5 英寸、iPad、iPad Pro
而如果不想要传iPad方面的截图
那么就把Devices设置为iPhone
如果设置了Universal,需要传上述各种尺寸的图片的话,则可以利用iOS模拟器去截图:
分别设置为对应的iOS设备:
然后再去运行你的程序,在iOS模拟器中,File-》Save Screen Shot-》即可在Mac的桌面找到对应的截图
详见:
3.对于项目支持新的iOS 9.3来说,如果上传app时不想要出现:
ERROR ITMS-90474 Invalid Bundle iPad Multitasking support requires these orientations
那么就让自己的项目选上:
Target-》General-》Deployment Info-》Requires full screen
详见:
4.App的Logo图标不能是带透明的png图片,后来转换为jpg才可以上传的
5.iTunes Connect中创建app时的一些经验:
(1)如何设置关键字
6.其实发布流程,官网的教程,解释的很清楚了:
中的:
已经把流程解释的相对很详细了
先注册开发者账号
然后用Xcode开发,测试
然后去iTunes Connect中创建app记录
然后用Xcode去Upload to AppStore
然后再去iTunes Connect中完善app信息
最后再提交审核
等待审核通过后,再去发布到AppStore
7.里面有个SKU,实际上是:
iTunes Connect ID==SKU
确保唯一即可。
一般都是写成Bundle ID即可。
比如:
im.jiandao.app
8.官网有教程:
后来发现中文教程了:
方便学习。
9.对于之前是个人开发账户,后来加入了企业帐户后
登录后,注意账号可以切换的
详见:
10.App Id的前缀,可以帮助区分Code Signing Identity时应该选择哪个
在创建App ID的时候,其:
Identifier
(在最开始创建App ID过程中:
以及创建App ID完毕的时候:
是类似于这样的:
App ID: 3WRHBBSBW4.com.danielgindi.ChartsDemo
中的最开头部分的值是:
3WRHBBSBW4
之前一直没注意其含义。
后来才注意到:
该值对应着:
去Xcode 中设置Code Signin的时候,所选择的具体的那个开发者
-》(有时候,像我这里,开发者很多的时候,往往都容易搞混)
而借助于Identifier的最开头的值,回头就能确定,到底是哪个开发者了:
-》
当前,此处是iOS的项目(排除了Mac的类型),而且是AdHoc的(对应着是Distribution类型,而排除了Development类型)
所以也还是知道,在iPhone的Distribution的范围内选择的
-》但是此处仍旧还有2个选项,在搞的不是很清楚的时候,上述的App Id的前缀,可以帮忙Xcode中设置Code Signing Identity时,分清楚应该选择哪个Identity
【Xcode打包发布app的心得】
折腾了:
普通的ios的app的发布到app store
以及
企业版的账号 去打包 发布app:
后,对于iOS的开发期间,用Xcode去打包app,有点点心得:
对于有了开发者账号后去打包
主要的思路就是:
1.证书
确保是有效的证书
比如 企业版打包是,如果自己是Team Admin(而不是Team Agent)
则需要自己先去创建一个企业版的证书
2.App ID
创建对应的App ID
确保启用了对应的功能Capability
3.Provisioning Profile==PP文件
然后用App ID,加上证书,生成对应的PP文件:
主要有两种:
一种是Develop开发
另一种是Distribution 发布
-》如果中间出了什么问题
则按照:
1.先去到Developer Member Center中确认:
证书Certificate,后App ID,再次Provisioning Profile的思路,去检查东西是否正确
2.然后再去Xcode确认:
General中的:APP ID,Team
以及:Build Settings中的:Code Signing的Debug和Release,和Provisioning Profile的设置
是否正确
这样的话,绝大多数情况下,都可以及找到问题原因并解决了。
【下载Xcode,macOS系统】
正常是通过:
(需要登录apple开发者账号)
进去找最新版本
-》但是除了最新beta版,其他的下载都会跳转到AppStore去下载
-〉下载速度貌似一般般
后来得到有个更加统一的下载地址:
(也是需要登录苹果开发者账号)
比如最新的Xcode 9.2,下载地址是:
而且其他版本都有:Xcode 9.1
Xcode 9.0.1
Xcode 9
Xcode 8.3.3
Xcode 8.3.2
Xcode 8.3.1
Xcode 8.3
等等
详见:
【Xcode打包和发布关于证书等方面的心得】
1.如果是普通的开发者账号,去创建PP时,
Distribution是可以选择:
App Store
的:
而如果是企业账号,企业开发者,去创建PP时,是显示的In House:
2.在之前已经导入了证书到钥匙串中的前提下:
比如此处之前导入了:
Apple Development iOS Push Services:xxx.xxx.xxx
但是在Xcode的Build Settings中,对于Provisioning Profile:
选择了合适的PP文件,其中该PP文件内置使用了对应的上述的证书
然后再去Code Signing-》Code Signing Identity-》
Debug(或Release)中,去,想要选择对应的PUSH证书,结果却找不到:
之后的解决办法是:
把钥匙串中的证书,删除了
重新双击原先下载的cer文件:
比如此处的:com.qorosauto.QorosSalesApp_ApplePushService_Development.cer
导入到钥匙串中
(估计也需要:
基于该证书,重新导出p12文件
-》如果之前推送服务,比如极光推送,中已经上传和使用了该证书,则也需要重新上传p12证书到对应平台中)
细节可参考: