辞职 iOS 应用程序(.monotouch-32 符号链接)

Resigning an iOS app (.monotouch-32 symlink)

我正在尝试使用新的配置文件退出应用程序。我的一般步骤是:

unzip *.ipa
rm *.app/_CodeSignature
cp Payload/*.app/embedded.mobileprovision
codesign -f -s "Cert" --entitlements entitlements.plist Payload/*.app
zip -r Resigned.ipa Payload

当我使用详细输出验证应用程序时,我收到消息

A sealed resource is missing or invalid

后面是 .monotouch-32 文件夹中的 .dll 个文件列表,并带有如下消息:

"file modified: /foo/bar/Payload/foo.app/.monotouch-32/Xamarin.Forms.Core.dll".

当我检查列出的 dll 时,它们都是 .symlink 对应的 .monotouch-64。任何特定 .monotouch-32 文件未列为已修改。

有什么办法可以解决这个问题吗?

这可能不是您唯一的问题,但 zip 需要使用 -y 作为符号链接。

如果这没有帮助,那么请编辑您的问题以添加用于签名和验证的命令(及其输出)。您还应该比较前后的.ipa (.zip)。

您好,我遇到了类似的问题。对于与 Xamarin 相关的 ipa,最好不要放弃 Monotouch 和 .dll 文件 separately.Please 检查下面的命令是否相同

sudo codesign -f -s "iPhone Distribution: abcd" --entitlements 
entitlements.plist Payload/myApp.app/.monotouch-32/*.dll

与 Monotouch-64 相同

sudo codesign -f -s "iPhone Distribution: abcd" --entitlements 
entitlements.plist Payload/myApp.app/.monotouch-64/*.dll

通过执行上述命令,Payload 文件中的所有文件都将正确退出