重新签署包含框架的IPA [英] Re-signing an IPA that contains a Framework

查看:131
本文介绍了重新签署包含框架的IPA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在重新签名iOS应用(使用iResign),以便将其上传到App Store;在此过程中,我将更改捆绑商品ID。
我只有IPA(没有源代码)。

I'm re-signing an iOS app (using iResign) in order to upload it to the App Store; and as part of this I'm changing the bundle ID. I only have the IPA (not the source code).

该应用包含第三方框架。

The app contains a third party framework.

辞职似乎还不错;但是当我使用Application Loader上传时,出现以下错误:

The resign appears to go fine; but when I upload using Application Loader, I get the following error:

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."

(很明显,我已经更改了CAPS中显示的值)

(Obviously I've changed the values shown in CAPS)

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

I'm assuming that the problem is that the application-identifier in my entitlements.plist matches the Bundle identifier in my app, but does not match the Bundle identifier in the framework.

为了排除它,我在框架和应用程序上设置了相同的Bundle标识符。这确实使我可以上传到应用商店。但是当我尝试将应用程序安装到iPad上时失败并报错。

Just to rule it out, I set the same Bundle identifier on the framework and the app. This did allow me to upload to the app store; but failed with an error when I tried to install the app onto an iPad.

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

更新:为了排除这种情况,我已经尝试过使用通配符配置配置文件和权利plist;但这会产生相同的错误

UPDATE: Just to rule it out, I've tried using a wildcard provisioning profile and entitlements plist; but that gives the same error

推荐答案

您也必须重新签署框架。

You must re-sign the frameworks too.

只需打开您的.ipa并找到

Just open your .ipa and find the frameworks used under

Payload / MyApp.app / Frameworks

Payload/MyApp.app/Frameworks

尝试使用下面的命令对其进行签名

Try to sign them with command below

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

重新压缩它。

此外,很多人使用AirSign获得了不错的效果。

Additionally, lots of people got good results with AirSign.

这篇关于重新签署包含框架的IPA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆