5

我想构建一个单窗口 Mac 应用程序,它可用于在不使用 XCode 的情况下对 iOS 应用程序进行代码设计。

我们的许多客户使用“企业许可证”来分发他们的应用程序。每年他们都需要辞职,这是一项重复性的工作。他们的要求如下

  1. 应用程序使用 APNS
  2. 他们不想共享他们的企业许可证
  3. 使用证书签名时,捆绑标识符应该是可替换的
  4. 他们在钥匙串中有同名的证书

用户界面具有以下字段

  1. *.ipa 文件的路径
  2. *.mobileprovision 文件的路径
  3. 钥匙串名称(如果存在多个同名证书,则可选)
  4. 证书名称(iPhone 开发者:.....)

能够对应用程序进行代码设计,但APNS 在辞职后无法正常工作。还是不能使用 bundleIdentifier 辞职应用程序?

而且我还想在 Keychain 中添加可用证书下拉列表的功能,以提高可用性。任何指针都会有很大帮助

4

2 回答 2

2

要启用推送通知,应用 ID 和配置文件需要经过 Apple 配置和允许(通过门户)。您不能仅通过辞职就为任意配置文件/应用启用它。

在协同设计期间,权利需要将apns-environment密钥设置为sandbox/ production,具体取决于应用程序使用的内容。这将在运行时由 iOS 进行验证。如果您使用的是第三方签名工具,它应该apns-environment从配置文件中获取值。

对于调试,您可以使用以下命令查看 .app 的权利:

codesign -d --requirements - --entitlements - path/to/My.app

您应该会看到一个apns-environment值,但前提是配置文件启用了该值。

于 2013-03-13T15:38:26.240 回答
1

刚刚花了几个小时研究同样的问题并发现了以下过程。将 Mike 的评论更进一步,为遇到相同问题的其他人提供以下命令行。

我开始使用已为生产推送通知配置的捆绑 ID 的 xcode 发布版本。

从终端窗口运行以下命令 - 用您的信息替换“CAPITAL SECTIONS”

codesign -d --entitlements -"NAME OF APP.app" > entitlements.plist

codesign -f -s "SIGNING CERTIFICATE NAME" --resource-rules "NAME OF APP.app/ResourceRules.plist" --entitlements entitlements.plist "NAME OF APP.app"

希望这可以帮助下一个遇到同样问题的人

于 2013-12-12T18:54:15.790 回答