我正在重新签名 iOS 应用程序(使用 iResign)以便将其上传到 App Store;作为其中的一部分,我正在更改捆绑包 ID。我只有 IPA(没有源代码)。
该应用程序包含第三方框架。
辞职似乎进展顺利;但是当我使用应用程序加载器上传时,出现以下错误:
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."
(显然我已经更改了大写字母中显示的值)
我假设问题是 entitlements.plist 中的应用程序标识符与应用程序中的 Bundle 标识符匹配,但与框架中的 Bundle 标识符不匹配。
为了排除这种情况,我在框架和应用程序上设置了相同的捆绑包标识符。这确实允许我上传到应用程序商店;但当我尝试将应用程序安装到 iPad 上时,失败并出现错误。
我是否需要为框架提供单独的权利文件?
我该如何解决这个问题?
UPDATE:为了排除这种可能性,我尝试使用通配符配置文件和权利 plist;但这给出了同样的错误
您还必须重新签署框架。
只需打开你的 .ipa 并找到下面使用的框架
有效负载/MyApp.app/Frameworks
尝试使用下面的命令对它们进行签名
/usr/bin/codesign -f -s "iPhone Developer: Some Body (XXXXXXXXXX)" --entitlements entitlements.plist Payload/MyApp.app/Frameworks/*
之后重新压缩它。
此外,很多人都通过 AirSign 获得了良好的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)