Closed fukemy closed 6 years ago
http://iosdevlog.com/ios/2018/03/29/ios-universal-framework.html
and
https://gkbrown.org/2017/10/11/creating-a-universal-framework-in-xcode-9/
However, apps that contain “fat” binaries like this don’t pass app store validation. Before submitting an app containing a universal framework, the binaries need to be trimmed so that they include only iOS-native code. The following script can be used to do this:
FRAMEWORK=$1
echo "Trimming $FRAMEWORK..."
FRAMEWORK_EXECUTABLE_PATH="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$FRAMEWORK.framework/$FRAMEWORK"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH..."
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging binaries..."
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
echo "Done."
To use this script:
Place the script in your project root directory and name it trim.sh or something similar
Create a new “Run Script” build phase after the “Embed Frameworks” phase
Rename the new build phase to “Trim Framework Executables” or similar (optional)
Invoke the script for each framework you want to trim (e.g. ${SRCROOT}/trim.sh
)
thanks u, i will try it
Hello. After success run, when archive this project without enable BITCODE and upload to appstore. i Got this warning:
Dear Developer,
We identified one or more issues with a recent delivery for your app, "iCamera". Your delivery was successful, but you may wish to correct the following issues in your next delivery:
Too many symbol files -These symbols have no corresponding slice in any binary [08095C93-2DC4-3FA9-BD6D-43917E98C0F8.symbols, 09C52809-FE3A-3D9D-922F-33C74854E3A6.symbols, 0BDDAC52-5C17-3FFF-B654-590E6C280BAF.symbols, 1382EF04-BFB4-3565-BB90-7D80C38B3C04.symbols, 1D8696FE-7A18-3873-9116-B2FD6DC692C0.symbols, 20FF6022-74B3-317B-87AE-0965B2850D63.symbols, 2D14E177-7164-3805-86B5-426BC9224AD9.symbols, 3EE5E298-2723-3E82-A04D-05008B20C647.symbols, 43105F0E-44C9-319A-A097-7D676803DA21.symbols, 5F1226F3-EBF2-3598-B105-77FA656DB232.symbols, 68B5AE16-BBAB-3159-A088-FEF26C086544.symbols, 747B9AAB-320C-3E3C-A7CC-E13BC803D7B4.symbols, 918556DA-4A7A-3761-A589-79E340558873.symbols, A68C1D79-2EF6-3AB1-83E5-C3B77F6B0F64.symbols, ACB3713A-72FC-30BD-9BD3-826135ED6B2D.symbols, B05471ED-2B0B-33EE-8471-08FBDE5AC044.symbols, C3BF5166-733C-36DB-BD55-4BD87092F8AB.symbols, DCE50E13-DE38-37F1-934E-515E3AAB62E7.symbols, F070A6D7-6F2A-3228-8089-66C22A12242B.symbols, FBAFDF80-AB51-38AF-927F-5D95966FEA6B.symbols, FDF6EC48-06D3-3A37-886F-E3CBEF603C60.symbols]
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
Best regards,
The App Store Team
I dont know why it appear. can u help? UPDATE, i change to new macbook which have nightshift mode to code in night :D, i think may be it's related to current symbols from my old macbook.
https://github.com/Bilibili/ijkplayer/blob/master/ios/compile-ffmpeg.sh
22 FF_ALL_ARCHS_IOS6_SDK="armv7 armv7s i386"
23 FF_ALL_ARCHS_IOS7_SDK="armv7 armv7s arm64 i386 x86_64"
24 FF_ALL_ARCHS_IOS8_SDK="armv7 arm64 i386 x86_64"
25
26 FF_ALL_ARCHS=$FF_ALL_ARCHS_IOS8_SDK
Do you enable armv7s
, I built the framework with default setting, so it does not contains armv7s
, may be you should remove it.
Upload is successful, you can enter waiting for the audit status.
You can also see this.
yeah. Thank you for fast helping. I know the problem.
@jiaxianhua In Xcode 13 still has this issue when released. anyone?
Hello. When I archive app to submit. I got this message:
can you tell me how to solve it? Many thanks