【发布时间】:2019-01-15 06:36:32
【问题描述】:
我在尝试上传基于 Jenkins 构建的 ipa 时遇到错误。
错误 ITMS-90171:“无效的 Bundle 结构 - 不允许使用二进制文件 'ideaPitch.app/libswiftRemoteMirror.dylib'。您的应用不能包含独立的可执行文件或库,除了受支持的捆绑包的 CFBundleExecutable。请参阅https://developer.apple.com/go/?id=bundle-structure 上的 Bundle 编程指南,了解有关 iOS 应用程序包结构的信息。”
我如何在 Jenkins 上获得 ipa
/usr/bin/xcodebuild -list -workspace My_App.xcworkspace
/usr/bin/xcodebuild -scheme My_App -workspace My_App.xcworkspace -configuration Release clean build CONFIGURATION_BUILD_DIR=${WORKSPACE}/build -UseModernBuildSystem=0
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${WORKSPACE}/build/My_App.app" -o ${WORKSPACE}/build/My_App${PRODUCT_VERSION}-${PRODUCT_VERSION}.ipa
ditto -c -k --keepParent -rsrc "${WORKSPACE}/build/My_App.app.dSYM" ${WORKSPACE}/build/My_App-${PRODUCT_VERSION}-${PRODUCT_VERSION}-dSYM.zip
当我在 Xcode 上获得 ipa 时,一切正常。但是,我需要在 Jenkins 上做。什么会导致这个问题?谢谢。
编辑 我搜索了 SO 并找到了一些帖子(如下所示)。但是,我需要找出这个问题的哪一行或代码,所以我不能直接复制和粘贴答案。所以请不要将其标记为重复。
【问题讨论】:
-
也收到此错误,但只是有时,而且我正在使用 gradle 插件(开放面包店)来构建 .xcarchive。 “/usr/bin/xcrun -sdk iphoneos PackageApplication...”仍然是受支持的方式吗?
-
我添加了一个答案,请查看。