遵循以下几条原则,不再纠结Xcode代码签名问题

转载 2015年07月09日 09:55:19

本文由sandy翻译自JARED SINCLAIR的博客
原文:Follow These Guidelines and Never Struggle with Xcode Code Signing Again


多亏了下面的这些习惯,这一年里我再也没有为Xcode的Code Signing问题纠结过。这些习惯有的看起来很大材小用,而且它们大都比用Xcode里的内置支持功能更“复杂”。但那又怎样!去他妈的胡说八道!做自己的事情,回去该干嘛干嘛!


1.千万不要使用Xcode内置的Code Signing助手工具。尤其不要点击那个所谓的Fix Issuue按钮。那不仅会让你触及很多没用的文件(iOS Team Provisioning Profile…),而且还会导致你陷入配置文件的怪圈。

2.千万不要使用通配符App ID(wildcard app identifiers)。尤其当你在多个团队,而且每个团队又有多个通配符App ID的时候就会很麻烦。花一点时间登录到开发者中心,为你的每个app生成一个特有的bundle ID。不使用通配符App ID,会大大减少Code Signing道路上的陷阱。如果你有使用通配符的项目,马上删除它。新版Xcode使这些变的比之前更难。Let me Google that for you.

3.使用build code sign 和shared schemes。在“Manage Schemes…”面板勾选Shared让这一切变的轻松。一个是开发环境,一个用于App Store的releases版本。如果需要,也可以考虑增加一个用于beta版本。在编辑窗口为每一个scheme选择合适的编译配置。如果你选择Xcode提供的默认的编译配置,那么的你的开发方案会是debug模式,你的发布方案会是release模式。

4. 使用明确的code-signing identities和自动配置选择。因为你现在使用了share schemes连接到指定的构建配置,所以你可以把你的Xcode项目设置的更具帮助性。对于你工程的Code Signing Identity 和Provisioning Profile设置需要distribution证书(Ad Hoc, Enterprise, or App Store distributions)。如果你懒的话,你也可以使用自动的iOS Distribution。可能我有太多的teams,让我不信任xcode能做的那么准确。我建议使用iOS开发自动设置您的调试版本,这样有益于其他的开发者合作。我发现使用以上的signing identities设置,我能为所有的构建设置使用自动provisioning  profile。

5.在target级设置上重复项目级的设置。另一个常见问题就是代码签名和配置文件选择的项目级别设定与target级别设定不匹配。除非你认为你不会犯这个错误(我之前也认为我不会,但现在我知道怎样才更好)。手动将代码签名和Provisioning profile设置为project和 target级别的,并定期检查以确保它们保持一致。

6.删除Keychain Access中过期的证书。Keychain Access让它变的非常简单。大多数证书(Ad Hoc, APN, and App Store)的有效期是365天,一些企业证书可能会延长至三年。在你创建新的分发证书和 APN证书的时候,设置日期闹钟来提醒你去及时更新,以防止证书过期之后你的APN 服务突然发怒,警告你代码错误。

7.确保Keychain Access里有所有需要的证书。在每个团队里你至少需要两个证书:1)一个允许你在设备上安装app的开发者证书。2)  一个分发证书允许你提交程序到 App Store。你也许会需要两个额外的证书用于推送通知(一个用于开发、一个用于生产)。开发和分发证书适用于你团队里的所有程序。APN证书是特定于每个应用的。确保你有这些证书的私钥,存储你的证书并导到安全便捷的地方,以防万一你的高级工程师们因为一些要命的蠢蛋都瘫痪掉的时候,你团队里的每个人都可以传送到APP Store。

8.安装新的文件或证书后无论如何都要重启你的Xcode。缓存过期的证书特别容易出现缓存错误。

Java中重载的匹配规则

重载在Java中是常客,特别是在构造方法中,但是如果要仔细考虑内部的实现规则,内容还是很多的,最近在复习这个部分,所以对重载的使用做了以下整理: 1.涉及基本类型的重载   我们都知道基本数据类型...
  • yyg_2015
  • yyg_2015
  • 2016年10月12日 16:44
  • 526

软件开发时设计时要遵循的原则

软件开发原则 开闭原则(OCP) 开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。1988年,勃兰特...
  • qq_26442553
  • qq_26442553
  • 2017年12月06日 15:20
  • 357

RISC设计原则及基本技术

CISC的特点: 指令系统庞大,指令功能复杂,指令寻址方式多,指令格式多绝大多数指令需要多个机器周期完成各种指令都可以访问存储器采用微程序控制有专用寄存器,少量难以用优化编译技术生成高效的目...
  • BlueCloudMatrix
  • BlueCloudMatrix
  • 2014年06月13日 22:00
  • 2317

工作时应遵循的几个原则

列出下面几条以自勉,随时更新:1. 乐观    此条最为重要,世界是美好的,人们之间是友好的。不管遇到多么不顺心的事,也要平心面对,时刻保持乐观的心态。2.  自信    天下牛人很多,自己是其中之一...
  • cooli46
  • cooli46
  • 2006年07月20日 16:27
  • 630

制定目标时需要遵循的SMART原则

作为一名职业项目经理(PM,Project Manager)或者团队领导(TL,Team Leader)不要试图去控制团队中的每个人的思想和行为,因为那几乎是不可实现的;但是可以通过有效的目标管理来让...
  • seagal890
  • seagal890
  • 2016年02月13日 20:13
  • 4408

同步机构应遵循哪些基本原则?为什么?

2017年3月22日
  • xiyoucode
  • xiyoucode
  • 2017年03月22日 22:32
  • 317

[Xcode]iOS代码签名(Code Signing)

在打包过程中让我吃了不少苦头,归根到底是对一些概念和一些原理不清楚不明白,...数字签名(digital signature)对指定信息使用哈希算法,得到一个固定长度的信息摘要,然后再使用私钥 (注意...
  • ouyangshima
  • ouyangshima
  • 2016年11月14日 18:55
  • 1654

IOS代码签名

IOS代码签名  2015-09-19 22:21 765人阅读 评论(0) 收藏 举报  分类:   Ios(22)  版权声明:本文为博主原创文章,未经博...
  • u011661836
  • u011661836
  • 2016年07月21日 09:37
  • 579

设计模式要遵循的几条原则

  • DonetRen
  • DonetRen
  • 2010年04月14日 17:46
  • 584

内存管理基本原则

之前:OC内存管理遵循“谁创建,谁释放,谁引用,谁管理”的机制,当创建或引用一个对象的时候,需要向她发送alloc、copy、retain消息,当释放该对象时需要发送release消息,当对象引用计数...
  • u012701023
  • u012701023
  • 2016年03月24日 15:41
  • 824
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:遵循以下几条原则,不再纠结Xcode代码签名问题
举报原因:
原因补充:

(最多只允许输入30个字)