重新签署包含框架的IPA

Hae*_*nal 6 code-signing codesign ios ipa

我正在重新签名一个iOS应用程序(使用iResign),以便将其上传到App Store; 作为其中的一部分,我正在更改捆绑ID. 我只有IPA(不是源代码).

该应用程序包含第三方框架.

辞职似乎没事; 但是当我使用Application Loader上传时,我收到以下错误:

ERROR ITMS-90046: "Invalid Code Signing Entitlements. Your application bundle's signature 
contains code signing entitlements that are not supported on iOS. 
Specifically, value 'XXXXXXXXXX.COM.X.Y.Z.A' for key 'application-identifier' in 
'Payload/APPNAME.app/Frameworks/FRAMEWORKNAME.framework/FRAMEWORKNAME' is not supported. 
This value should be a string starting with your TEAMID, followed by a dot '.', followed by
the bundle identifier."
Run Code Online (Sandbox Code Playgroud)

(显然我已经改变了CAPS中显示的值)

我假设问题是我的entitlements.plist中的application-identifier与我的应用程序中的Bundle标识符匹配,但与框架中的Bundle标识符不匹配.

为了排除它,我在框架和应用程序上设置了相同的Bundle标识符.这确实允许我上传到应用商店; 但是当我尝试将应用程序安装到iPad上时失败并出现错误.

我是否需要为框架提供单独的权利文件?我该如何解决这个问题?

更新:只是为了排除它,我尝试使用通配符配置文件和权利plist; 但是这会产生同样的错误

bat*_*gun 5

您也必须重新签署框架。

只需打开您的 .ipa 并找到下使用的框架

有效负载/MyApp.app/Frameworks

尝试使用以下命令对它们进行签名

/usr/bin/codesign -f -s "iPhone Developer: Some Body (XXXXXXXXXX)" --entitlements entitlements.plist Payload/MyApp.app/Frameworks/*
Run Code Online (Sandbox Code Playgroud)

之后重新压缩它。

此外,很多人使用 AirSign 取得了良好的效果。