对iOS贴纸包进行代码签名

因为我一直忘了如何…

由于某种原因,自动代码签名不适用于我的应用程序。 苹果使贴纸包装的过程比标准应用程序更加复杂。 因为每次执行此操作时都会忘记有效的方法,所以我在下面记录了该过程。 这适用于iOS 11-如果情况发生变化,我将对其进行更新。

  • 显示项目导航器,然后单击顶层,它将是您的应用程序/贴纸包名称。
  • 在“项目”下Xcode的第二列中,单击您的应用名称,然后单击“构建设置”(第三列),并在“代码签名身份”下确保它们都是iOS Developer。
  • 在Xcode的TARGETS下的第二列中,单击您的应用程序名称,然后在General(第三列)下单击:
  1. 签名:取消选中“自动管理签名”。
  2. 签名(调试):选择通过开发​​者帐户设置的分发配置文件。 这将具有包标识符,例如com.domain.AppName。
  3. 签名(发布):与“调试”相同。
  • 现在,单击第三列中的“构建设置”,然后向下滚动到“代码签名身份”。 对于“调试和发布”,请选择“ iOS开发人员”,对于“任何iOS SDK”,请选择“ iOS发行版”。 确保您还在此处选择您的开发团队。 我还停留在步骤3中使用的Provisioning Profile中。
  • 这是把戏! 为标签扩展名创建单独的应用程序ID和配置文件。 对于应用程序ID,请使用通配符版本(例如com.domain.appName。*)。 然后将此应用程序ID用于新的分发配置文件。 两个配置文件使用的证书必须相同。
  • 使用手动签名,并将通配符分发配置文件分配给贴纸包扩展名。 这样可以使您成功存档该应用程序。 当您将其上传到Apple时,您将需要再次手动分配分发配置文件!

我认为问题是由于“ app”和StickerPackExtension具有不同的捆绑标识符,这意味着它们需要不同的供应配置文件。