我正在尝试使用 Xcode 15.4 导出 iOS 应用程序的未签名 IPA。这是我用来执行此操作的 bash 脚本:
xcodebuild clean archive \
-workspace DemoApp.xcworkspace \
-scheme DemoApp \
-configuration Release \
-sdk "iphoneos" \
-archivePath DemoApp.xcarchive \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGN_ENTITLEMENTS="" \
CODE_SIGN_IDENTITY=""
xcodebuild -exportArchive \
-archivePath DemoApp.xcarchive \
-exportPath export \
-exportOptionsPlist ExportOptions.plist \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGN_ENTITLEMENTS="" \
CODE_SIGN_IDENTITY=""
我的导出选项 plist 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>compileBitcode</key>
<false/>
<key>method</key>
<string>app-store-connect</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>P38XW29864</string>
<key>uploadSymbols</key>
<false/>
</dict>
</plist>
上面的代码在 Xcode 15.3 (15E204a) 上运行良好,但是如果我使用 Xcode 15.4 (15F31d),执行时会抛出以下错误
xcodebuild -exportArchive
:
./build.sh:第 21 行:39412 分段错误:11 xcodebuild -exportArchive -archivePath DemoApp.xcarchive -exportPath 导出 -exportOptionsPlist ExportOptions.plist CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO CODE_SIGN_ENTITLMENTS="" CODE_SIGN_IDENTITY=""
当我尝试使用 Xcode 16.0 beta 1 (16A5171c) 时,出现同样的问题。
我不确定我做错了什么。有没有其他可靠的方法来导出 iOS 应用程序的未签名 IPA?
可以在此处找到重现问题的最小 Xcode 项目:https://github.com/darrarski/ios-app-export-unsigned-ipa-example
我遇到了同样的问题,直到我在我的 plist 中设置了
provisioningProfiles
字典值。这是我现在使用的不再出现段错误的示例。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store-connect</string>
<key>signingStyle</key>
<string>manual</string>
<key>destination</key>
<string>upload</string>
<key>provisioningProfiles</key>
<dict>
<key>com.MyAppName</key>
<string>MyProfileName</string>
</dict>
</dict>
</plist>