Xcode 16에서 Facebook SDK가 BitCode가 포함되어서 Appstore 업로드에 실패하는 문제

Xcode 16에서는 BitCode를 사용하지 않도록 강제하고 있다. 그래서 Xcode 15 까지는 BitCode Enabled = FALSE 로만 되어도 만들어진 빌드를 앱스토어에 업로드 하는데 문제가 없었다. 하지만 16 부터는 업로드시 에러를 발생시키고 BitCode 바이너리를 제거하고 업로드하라고 한다.

빌드 자체에서는 Bitcode를 꺼도 Facebook SDK 같은 경우는 Bitcode 바이너리가 포함되어 있다. 그래서, 강제로 커맨드나 Podfile에 Bitcode를 제거하는 명령을 넣어서 해결해야 한다.

우선 직접 해당 프로젝트에서 아래와 같이 명령을 넣으면 기본적인 Facebook SDK의 Bitcode는 제거되고 업로드에 성공했다.

% xcrun bitcode_strip -r [xcode_path]/Pods/FBAEMKit/XCFrameworks/FBAEMKit.xcframework/ios-arm64/FBAEMKit.framework/FBAEMKit  -o [xcode_path]/Pods/FBAEMKit/XCFrameworks/FBAEMKit.xcframework/ios-arm64/FBAEMKit.framework/FBAEMKit                

% xcrun bitcode_strip -r [xcode_path]/Pods/FBSDKCoreKit/XCFrameworks/FBSDKCoreKit.xcframework/ios-arm64/FBSDKCoreKit.framework/FBSDKCoreKit  -o [xcode_path]/Pods/FBSDKCoreKit/XCFrameworks/FBSDKCoreKit.xcframework/ios-arm64/FBSDKCoreKit.framework/FBSDKCoreKit

% xcrun bitcode_strip -r [xcode_path]/Pods/FBSDKCoreKit_Basics/XCFrameworks/FBSDKCoreKit_Basics.xcframework/ios-arm64/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics -o [xcode_path]/Pods/FBSDKCoreKit_Basics/XCFrameworks/FBSDKCoreKit_Basics.xcframework/ios-arm64/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics

% xcrun bitcode_strip -r [xcode_path]/Pods/FBSDKGamingServicesKit/XCFrameworks/FBSDKGamingServicesKit.xcframework/ios-arm64/FBSDKGamingServicesKit.framework/FBSDKGamingServicesKit  -o [xcode_path]/Pods/FBSDKGamingServicesKit/XCFrameworks/FBSDKGamingServicesKit.xcframework/ios-arm64/FBSDKGamingServicesKit.framework/FBSDKGamingServicesKit

% xcrun bitcode_strip -r [xcode_path]/Pods/FBSDKLoginKit/XCFrameworks/FBSDKLoginKit.xcframework/ios-arm64/FBSDKLoginKit.framework/FBSDKLoginKit -o [xcode_path]/Pods/FBSDKLoginKit/XCFrameworks/FBSDKLoginKit.xcframework/ios-arm64/FBSDKLoginKit.framework/FBSDKLoginKit

% xcrun bitcode_strip -r [xcode_path]/Pods/FBSDKShareKit/XCFrameworks/FBSDKShareKit.xcframework/ios-arm64/FBSDKShareKit.framework/FBSDKShareKit -o [xcode_path]/Pods/FBSDKShareKit/XCFrameworks/FBSDKShareKit.xcframework/ios-arm64/FBSDKShareKit.framework/FBSDKShareKit

이 방법을 자동화하려면 Podfile을 수정하는 방법이 있는데, 이 방식은 별도의 포스팅으로 따로 보관하는게 좋겠다. 우리는 Jenkins 빌드 자동화를 사용하고 있어서, Xcode 빌드 후에 프로세스를 추가해서 실행하면 된다.

아래와 같이 을 실행시키면 BitCode가 들어있는 Facebook SDK는 잘 처리가 된다. Xcode 16.1에서 앱스토어 업로드도 문제없이 잘 실행되었다.

xcrun bitcode_strip -r build/ios/Pods/FBAEMKit/XCFrameworks/FBAEMKit.xcframework/ios-arm64/FBAEMKit.framework/FBAEMKit  -o build/ios/Pods/FBAEMKit/XCFrameworks/FBAEMKit.xcframework/ios-arm64/FBAEMKit.framework/FBAEMKit                

xcrun bitcode_strip -r build/ios/Pods/FBSDKCoreKit/XCFrameworks/FBSDKCoreKit.xcframework/ios-arm64/FBSDKCoreKit.framework/FBSDKCoreKit  -o build/ios/Pods/FBSDKCoreKit/XCFrameworks/FBSDKCoreKit.xcframework/ios-arm64/FBSDKCoreKit.framework/FBSDKCoreKit

xcrun bitcode_strip -r build/ios/Pods/FBSDKCoreKit_Basics/XCFrameworks/FBSDKCoreKit_Basics.xcframework/ios-arm64/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics -o build/ios/Pods/FBSDKCoreKit_Basics/XCFrameworks/FBSDKCoreKit_Basics.xcframework/ios-arm64/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics

xcrun bitcode_strip -r build/ios/Pods/FBSDKGamingServicesKit/XCFrameworks/FBSDKGamingServicesKit.xcframework/ios-arm64/FBSDKGamingServicesKit.framework/FBSDKGamingServicesKit  -o build/ios/Pods/FBSDKGamingServicesKit/XCFrameworks/FBSDKGamingServicesKit.xcframework/ios-arm64/FBSDKGamingServicesKit.framework/FBSDKGamingServicesKit

xcrun bitcode_strip -r build/ios/Pods/FBSDKLoginKit/XCFrameworks/FBSDKLoginKit.xcframework/ios-arm64/FBSDKLoginKit.framework/FBSDKLoginKit -o build/ios/Pods/FBSDKLoginKit/XCFrameworks/FBSDKLoginKit.xcframework/ios-arm64/FBSDKLoginKit.framework/FBSDKLoginKit

xcrun bitcode_strip -r build/ios/Pods/FBSDKShareKit/XCFrameworks/FBSDKShareKit.xcframework/ios-arm64/FBSDKShareKit.framework/FBSDKShareKit -o build/ios/Pods/FBSDKShareKit/XCFrameworks/FBSDKShareKit.xcframework/ios-arm64/FBSDKShareKit.framework/FBSDKShareKit

🤗 다음 할일 :

– Podfile에 명령어로 모든 Bitcode 바이너리를 제거하기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다