如何将iOS应用程序发送到客户端,以便进行代码签名

时间:2011-02-07 09:59:39

标签: iphone objective-c ios

我们为客户创建了一个iOS应用程序,我们希望它们能够进行代码签名和分发。

最好的方法是什么?如果我构建和存档,然后共享并保存到磁盘(没有重新签名),我会根据需要获得.ipa。我的问题是客户如何在其中包含他们的配置?遗憾的是,将代码发送给客户端不是一种选择,因为我们需要保留源代码。

任何帮助将不胜感激

5 个答案:

答案 0 :(得分:6)

告诉您的客户创建配置文件。

客户端必须从钥匙串访问中导出他的证书和密钥,并向他们发送他的证书,密钥和配置文件。您可以在计算机上安装所有内容,使用客户端配置文件构建应用程序并发送构建。

只要他不与你分享他的苹果密码,这应该从客户的角度来看足够安全。

答案 1 :(得分:3)

查看Erica Sudan的App Signer。此实用程序允许使用不同的配置文件对未签名的IPA进行重新签名。

易于使用,非常适合您的需求。

http://ericasadun.com/ftp/Macintosh/

显然,这完全取决于他们拥有iOS开发者合同并创建了自己的配置文件

答案 2 :(得分:3)

如果您的客户在“iOS Provisioning Portal”中具有“代理”级别,则可以为您添加“admin”级别。因此,您将拥有较少的访问级别,但能够为其提供“开发”版本(在许多方面与分发相同)。

这个解决方案比要求客户端导出他的私钥更好,特别是如果他没有相关经验

答案 3 :(得分:0)

我不太确定你是否可以按照你想要的方式辞职,但我想这是不可能的。因此,要解决源代码问题,您可以从代码中编译静态库并创建一个包装Xcode项目,该项目生成一个可以发送给客户端的新App。所以代码对他来说是不可见的,但他可以毫不费力地编译它。

答案 4 :(得分:0)

  • 使用您的证书和配置文件创建 xarchive 并将其传递给客户

  • 客户可以使用xcode打开 xarchive ,他们可以使用其分发证书和配置文件进行辞职并将其发布到appstore

enter image description here enter image description here

P.S:

  • 确保客户在成员中心的应用ID中添加了相同的捆绑标识符

  • 确保客户的配置文件反映您的项目功能,即推送通知等

  • 如果是权利,客户必须进入应用程序并手动更改权利。

他们必须在文本编辑器中打开的文件是 存档膨胀-entitlements.xcent 并使用他们的团队ID更改PREFIX,可以找到here

 <key>application-identifier</key>
    <string>PREFIX.yourappBundleID</string>

<key>keychain-access-groups</key>
<array>
    <string>PREFIX.yourappBundleID</string>
</array>

最好让客户确保 get-task-allow false 以防万一你已经用开发签名者签署了你的xarchive

 <key>get-task-allow</key>
    <false/>

APNS也是如此

<key>aps-environment</key>
<string>production</string>

供参考: 我知道很多公司都遵循这个流程,因为他们的安全指南