Tag: 唱歌

揭秘iOS签名

欢迎来到救援区。 如果您走到了这一步,那可能是因为您发现自己为苹果的iOS签名过程及其周围的混乱而咒骂苹果。 保持镇定,我们都去过那里并幸存下来。 这不是另一本使用方法文章。 这些周围很多。 在这里,我将尝试绘制更高级别的有关iOS签名工作方式的图片。 当事情进展得不太顺利并且您需要排除错误时,获取流程的心理模型非常有用。 本文是在2019年3月撰写和发布的。当前版本是XCode 10.2。 这一点很重要,因为Apple会不断更改其签名方法和功能,因此在某些时候,本文也会过时。 为什么要签名 (这有什么好处?如果您已经确信签名很重要,请跳过此步骤)。 需要对应用程序进行签名有两个原因: 为了允许Apple在每个应用可供用户使用之前对其进行授权,并对该应用进行签名,可以确保该应用不会被恶意人员修改,并且您的应用中没有恶意代码。 为了使Apple通过限制只能在Mac上运行的版本以及向其开发者的帐户许可证收费来赚钱。 苹果公司的“封闭花园”理念驱使他们不仅限制从App Store下载的应用程序,还限制设备上安装的所有内容。 因此,如果您现在是为猫构建漂亮的闪亮Tinder的开发人员,则除非获得Apple的明确签名许可,否则您将无法在设备上安装它。 这就是整个应用程序签名神秘过程的起点。 签署实体 (iOS签名地狱的参与者) Apple需要了解三件事,以允许您在任何设备上安装任何应用程序:谁? 什么? 哪里? 谁—证书将标识所有者 什么—开发和安装应用程序 位置-将在哪些设备上安装应用程序。 让我们从简单的一个开始: 设备标识符 唯一设备标识符( UDID )是分配给Apple设备的40个字符的字符串。 在Mac中,可以通过访问硬件信息找到它。 在iPhone / iPad上,该站点可以帮助找到它:http://whatsmyudid.com/ 接下来是确定的应用程序。 这是您可以弥补的: 应用程序标识符(应用程序ID /捆绑ID) 这是标识您的应用程序的密钥。 通常将应用程序ID作为域的相反顺序,例如com.company.app。 应用程序ID由团队拥有,因此需要在团队开发人员门户上进行注册。 需要在团队的开发人员门户上注册应用程序ID。 每个应用程序还指定要使用的Apple服务。 此类服务可以是推送通知(通过APS→Apple Push Services。只有Apple可以将通知推送到设备),iCloud,Siri等。 [准确地说,com.company.app称为捆绑包ID。 应用ID是团队标识和捆绑ID的组合,例如ABCD1234.com.company.app] 最复杂的是证书。 证书 证书的目的是验证一个人或一个团队是否是该应用程序的真正所有者,并且其身份不能被他人盗用。 一个人可以通过其Apple ID来识别,也可以属于一个团队。 […]