关于iPhone / iPad辞职的非常棘手的问题是行为

|| 这是东西。 场景: 我获得了一个IPA文件,该文件是通过存档+共享过程获得的 使用XCode。使用临时分发证书对ipa文件进行签名,并且 它可以安装没有任何问题。 该应用程序将一些信息保存在钥匙串中 使用我刚刚建立的构建,可以毫无问题地访问它。 之后,我使用带有Enterprise的codesign命令对应用程序进行重新签名 在applicaction.app软件包中进行了一些更改之后,分发证书。 此项更改包括更改应用程序的名称和来自 info.plist文件,当然,将嵌入式移动供应配置文件替换为 与新证书匹配的证书。 问题: 辞职后一切似乎都没事,安装和功能似乎正常。...但是!当我输入信息时 保存在钥匙串中,数据似乎无法加载或擦除 每次我关闭应用程序时,都需要钥匙串。 为什么会这样?     
已邀请:
        好的,这是为我们工作的解决方案。 由于这是企业版,因此​​需要我们更改Entitlements.plist / dist.plist文件,以使应用程序ID与在Apple网站上输入的ID相匹配。可以在codesign实用程序上提供权利文件。 按照以下说明进行操作,但请确保“权利”文件与完整的应用程序ID相匹配。这包括种子ID +束ID。 重新签署IPA(iPhone) 如果没有它,该应用程序将可以很好地安装,但这可以确保以适当的权限访问密钥库。     
        我已经搜寻了几个小时来寻找这个问题...这是解决方案,是应用程序退出与我们的应用程序一起工作的方式。我们从客户那里获得了IPA文件,并用我们的证书将其辞职。访问钥匙串的工作原理。在我们的案例中,bundle.id并未更改。 您需要哪些文件: MyApp.ipa MyApp_EnterpriseDistribution.mobileprovision(企业分发配置文件) Entitlements.plist 所有文件都在同一目录中。如果文件位于不同的文件夹中,则必须在代码中更改路径 首先,我们创建一个\“ Entitlements.plist \”。创建一个txt文件,并输入以下代码。输入您的应用程序标识符。
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
    <key>application-identifier</key>
    <string>GBA9L2EABG.com.your.bundle.id.MyApp</string>
    <key>get-task-allow</key>
    <false/>
</dict>
</plist>
保存此文件并将其重命名为:\“ Entitlements.plist \” 打开终端,移至文件夹并执行以下代码,将\“ MyApp \”替换为您的应用程序名称,并将\“ NAME OF YOUR ... \”替换为您的证书名称,并将\“ MyApp_EnterpriseDistribution \”替换为您的配置文件:
unzip MyApp.ipa

//we didn\'t used the following, maybe necessary...
//rm -r \"Payload/MyApp.app/_CodeSignature\" \"Payload/MyApp.app/CodeResources\" 2> /dev/null | true

cp MyApp_EnterpriseDistribution.mobileprovision Payload/MyApp.app/embedded.mobileprovision

codesign -f -s \"iPhone Distribution: NAME OF YOUR DISTRIBUTION CERTIFICATE\" --resource-rules Payload/MyApp.app/ResourceRules.plist --entitlements Entitlements.plist  Payload/MyApp.app

zip -qr MyApp-resigned.ipa Payload/
现在,您的Ipa和您的证书一起使用了。 提示:具有此名称的证书在您的钥匙串中应该是唯一的...     

要回复问题请先登录注册