最新消息:20190717 VPS服务器:Vultr新加坡,WordPress主题:大前端D8,统一介绍入口:关于

[整理]Xcode开发心得和经验

Xcode crifan 649浏览 0评论

【打包和发布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文件

注意:

之前有时候是通过:

[已解决]Your build settings specify a provisioning profile with the UUID

的: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的桌面找到对应的截图

详见:

[已解决]iTunes Connect提交审核app之前出错:您的二进制文件显示可支持 iPad。您必须提供 iPad 屏幕快照

3.对于项目支持新的iOS 9.3来说,如果上传app时不想要出现:

ERROR ITMS-90474 Invalid Bundle iPad Multitasking support requires these orientations

那么就让自己的项目选上:

Target-》General-》Deployment Info-》Requires full screen

详见:

[已解决]Xcode中上传ipa到AppStore出错:ERROR ITMS-90474 Invalid Bundle iPad Multitasking support requires these orientations

4.App的Logo图标不能是带透明的png图片,后来转换为jpg才可以上传的

5.iTunes Connect中创建app时的一些经验:

(1)如何设置关键字

App Store 提交的 App 如何设置关键字,有什么窍门吗? – 知乎

6.其实发布流程,官网的教程,解释的很清楚了:

About App Distribution Workflows

中的:

已经把流程解释的相对很详细了

先注册开发者账号

然后用Xcode开发,测试

然后去iTunes Connect中创建app记录

然后用Xcode去Upload to AppStore

然后再去iTunes Connect中完善app信息

最后再提交审核

等待审核通过后,再去发布到AppStore

7.里面有个SKU,实际上是:

iTunes Connect ID==SKU

确保唯一即可。

一般都是写成Bundle ID即可。

比如:

im.jiandao.app

8.官网有教程:

Submitting the App to App Review

后来发现中文教程了:

将 App 替换为新版本

方便学习。

9.对于之前是个人开发账户,后来加入了企业帐户后

登录后,注意账号可以切换的

详见:

[已解决]打包企业版iOS的app失败:Code Sign error No codesigning identities found

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:

[记录]重新生成自己账号的证书后再去尝试打包企业版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系统】

正常是通过:

https://developer.apple.com/download/

(需要登录apple开发者账号)

进去找最新版本

-》但是除了最新beta版,其他的下载都会跳转到AppStore去下载

-〉下载速度貌似一般般

后来得到有个更加统一的下载地址:

https://developer.apple.com/download/more/

(也是需要登录苹果开发者账号)

比如最新的Xcode 9.2,下载地址是:

https://download.developer.apple.com/Developer_Tools/Xcode_9.2/Xcode_9.2.xip

而且其他版本都有:

  • Xcode 9.1
  • Xcode 9.0.1
  • Xcode 9
  • Xcode 8.3.3
  • Xcode 8.3.2
  • Xcode 8.3.1
  • Xcode 8.3
  • 等等

详见:

【已解决】Xcode9中点击xib就崩溃

【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证书到对应平台中)

细节可参考:

[已解决]JPUSH开发环境的离线推送不工作

[记录]重新创建企业开发者账号的Development开发版的Provisioning Profile文件

转载请注明:在路上 » [整理]Xcode开发心得和经验

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
54 queries in 0.091 seconds, using 18.23MB memory