iOSDevLog / ijkplayer

Bilibili/ijkplayer cocoapods,iOS video player based on FFmpeg n3.3, with MediaCodec, VideoToolbox support.
GNU Lesser General Public License v2.1
79 stars 34 forks source link

version 1.1.3 archive error #6

Closed fukemy closed 6 years ago

fukemy commented 6 years ago

Hello. When I archive app to submit. I got this message:

screen shot 2018-08-15 at 01 00 34

can you tell me how to solve it? Many thanks

jiaxianhua commented 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)

fukemy commented 6 years ago

thanks u, i will try it

fukemy commented 6 years ago

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.

jiaxianhua commented 6 years ago

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.

https://stackoverflow.com/questions/34313049/too-many-symbol-files-warnning-when-submitting-app/34322099

fukemy commented 6 years ago

yeah. Thank you for fast helping. I know the problem.

faizantariq1 commented 2 years ago

@jiaxianhua In Xcode 13 still has this issue when released. anyone?