如何使用 Xcode 15.4 存档 iOS 应用程序并导出未签名的 IPA?

问题描述 投票:0回答:1

我正在尝试使用 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

ios xcode xcodebuild
1个回答
0
投票

我遇到了同样的问题,直到我在我的 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>
© www.soinside.com 2019 - 2024. All rights reserved.