应用程序加载器无法从应用程序中提取权利

Posted

技术标签:

【中文标题】应用程序加载器无法从应用程序中提取权利【英文标题】:Application loader Unable to extract entitlements from application 【发布时间】:2013-07-27 14:26:39 【问题描述】:

我有一个由 discuz 论坛插件生成的 IPA,IPA 是用企业开发者证书签署的,我想用我的开发者证书辞职并通过应用程序加载器提交给苹果

我使用 iresign 对 ipa 进行签名,然后通过应用程序加载器发送给苹果,但它出现了

Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate.

Unable to extract entitlements from application: /var/folders/cv/pksp8dfs71x74zt9st8y01xm0000gn/T/AppByMe32484-resigned.zip/Payload/Donkey.app/Donkey

我是如何使用 iPhone Distribution 签署应用程序的:创建我的姓名以及移动配置文件

不知道发生了什么.. :(请帮忙谢谢

【问题讨论】:

【参考方案1】:

这应该是可以的,我觉得你可以这样。

首先从 App Store 配置文件中提取一些可能的权利。这可能需要进一步编辑。

/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i AppStore.mobileprovision) > entitlements.plist

然后使用

退出二进制文件
codesign -f -s YourDistributionSigningIdentity --entitlements entitlements.plist --resource-rules your.app/ResourceRules.plist your.app 

并将其打包为 IPA

xcrun -sdk iphoneos PackageApplication -v -o `pwd`/out.ipa your.app

如果应用没有经过代码签名,那么您的 ResourceRules.plist 可能会丢失。这些是通用的,只需将 like this 复制到位即可。

【讨论】:

以上是关于应用程序加载器无法从应用程序中提取权利的主要内容,如果未能解决你的问题,请参考以下文章

无法从类加载器中找到 QueryDsl JPAQueryFactory

您的应用程序包的签名包含 iOS 不支持的代码签名权利

WatchOS 和位置权利

即使使用推荐的设置,也无法从渲染器/预加载脚本中访问电子函数

应用程序加载器拒绝我的 Stencyl 应用程序

无法从加载器 dalvik.system 加载 alljoyn_java