错误ITMS-90171:“无效的捆绑包结构"不允许使用二进制文件APP.app/libswiftRemoteMirror.dylib [英] ERROR ITMS-90171: "Invalid Bundle Structure The binary file APP.app/libswiftRemoteMirror.dylib is not permitted
问题描述
我将把sift 2.2转换为swfit 3.0,然后上传到iTunes存储,然后出现一个错误.
I'm going to convert sift 2.2 to swfit 3.0 and uploading to itunes store then get one error.
这个错误让我很累:-
错误ITMS-90171:无效的捆绑包结构-不允许二进制文件'ideaPitch.app/libswiftRemoteMirror.dylib'.您的应用程序除支持的捆绑包的CFBundleExecutable之外,不能包含独立的可执行文件或库.请参阅捆绑编程指南,网址为 https://developer.apple.com/go/?id=bundle-structure 获取有关iOS应用程序bundle结构的信息."
ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'ideaPitch.app/libswiftRemoteMirror.dylib' is not permitted. Your app can’t contain standalone executables or libraries, other than the CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."
我尝试了一些解决方案像这样问题,但没有得到正确的结果.
I have try some solution like this question but did not get proper result.
任何人都可以把我弄出来.
Any one can hlep me out.
推荐答案
我假设您正在命令行上生成IPA.
I assume that you're generating the IPA on the command line.
您最好的选择是简单地使用Xcode7/8默认方式来生成IPA文件:
Your best option is to simply use the Xcode7/8 default way to generate an IPA file:
xcodebuild -scheme $SCHEME clean archive $ARCHIVE_PATH
xcodebuild -exportArchive -archivePath $ARCHIVE_PATH -exportPath $IPA_PATH -exportOptionsPlist $EXPORT_PLIST
此方法将自动自动处理,从生成的IPA文件中删除 libswiftRemoteMirror.dylib
.
This approach will automatically take care of removing the libswiftRemoteMirror.dylib
from the resulting IPA file.
或者,您将必须自行删除dylib.创建xcarchive之后但必须将其导出到IPA文件之前,必须执行以下操作: rm -rf $ APP_PATH/libswiftRemoteMirror.dylib
Alternatively you will have to remove the dylib on your own. You'll have to do it after creating the xcarchive but before exporting it to an IPA file: rm -rf $APP_PATH/libswiftRemoteMirror.dylib
编辑
如果您无法自行重建IPA,而只想从其中删除 libswiftRemoteMirror.dylib
,则必须 signing
:解压缩IPA,删除dylib,重新设计捆绑软件,然后再次将其压缩在一起:
In case you can't rebuild the IPA on your own and just want to remove the libswiftRemoteMirror.dylib
from it, you'll have to resign
it: unzip the IPA, delete the dylib, re-codesign the bundle and zip it together again:
unzip AppName.ipa -d IPA
cd IPA
rm -rf Payload/$APP_NAME.app/libswiftRemoteMirror.dylib
codesign -vfs '$IDENTITY_NAME' Payload/$APP_NAME.app
zip -r --symlinks New_IPA.ipa *
将$ APP_NAME替换为您的应用捆绑包的名称.将$ IDENTITY_NAME替换为用于最初对应用程序进行签名的代码签名身份的名称.如果未知,则使用 codesign -dvv Payload/$ APP_NAME.app 2>& 1 |显示它.grep授权|头-1 |切-d = -f2
.
Replace $APP_NAME with the name of your App bundle. Replace $IDENTITY_NAME with the name of the codesign identity used to originally sign the app. If unknown, you display it with codesign -dvv Payload/$APP_NAME.app 2>&1 | grep Authority | head -1 | cut -d= -f2
.
匹配的证书和私钥必须存在于您的钥匙串中才能成功辞职.如果您的应用对推送,关联域等使用特殊权利,则必须将适当的-entitlements
参数传递给上述codesign命令.
The matching Certificate and Private Key must be present in your keychain for a successful resign. If your app uses special entitlements for push, associated domains etc., you'll have to pass a proper --entitlements
param to the codesign command above.
这篇关于错误ITMS-90171:“无效的捆绑包结构"不允许使用二进制文件APP.app/libswiftRemoteMirror.dylib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!