🍎

[備忘][Flutter]ITMS-91065: Missing signature

2024/05/30に公開

Flutterのmodule形式(add2app)を利用していたら、5月のPrivacyManifest適用のタイミングでアプリがRejectされるようになった。

ITMS-91065: Missing signature - Your app includes "Frameworks/package_info_plus.framework/package_info_plus", which includes package_info_plus, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. If a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting SDK, the SDK must include a signature file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a signature. For details about verifying the code signature for a third-party SDK, visit: https://developer.apple.com/documentation/xcode/verifying-the-origin-of-your-xcframeworks.

ITMS-91065: Missing signature - Your app includes "Frameworks/url_launcher_ios.framework/url_launcher_ios", which includes url_launcher_ios, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. If a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting SDK, the SDK must include a signature file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a signature. For details about verifying the code signature for a third-party SDK, visit: https://developer.apple.com/documentation/xcode/verifying-the-origin-of-your-xcframeworks.

PrivacyManifestあまりルール変更については詳しく理解してないが、、
とりあえず必要package(.xcframework)に対して署名してあげれば解決した

#!/bin/bash

# Path to the output directory containing the built frameworks
OUTPUT_DIR="./Release"

# Path to your codesigning identity 
CODESIGN_IDENTITY="Apple Development: xx xx (12345ABCDE)"

# Sign each framework 
for framework in "$OUTPUT_DIR"/*.xcframework; do
echo "Signing $framework with identity $CODESIGN_IDENTITY"
framework_name=$(basename "$framework")

if [ "$framework_name" != "Flutter.xcframework" ]; then
echo "Signing $framework with identity $CODESIGN_IDENTITY"
/usr/bin/codesign --force --sign "$CODESIGN_IDENTITY" "$framework"
else
echo "Skipping $framework"
fi

done

echo "Frameworks signed successfully."
GitHubで編集を提案

Discussion