Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

fixup-frameworks.sh 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. # This script gets executed from Xcode to fixup the embedded frameworks and
  3. # bundle the necessary architectures.
  4. APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
  5. # This script loops through the frameworks embedded in the application and
  6. # removes unused architectures.
  7. find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
  8. do
  9. FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
  10. FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
  11. echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
  12. EXTRACTED_ARCHS=()
  13. for ARCH in $ARCHS
  14. do
  15. if lipo -info "$FRAMEWORK_EXECUTABLE_PATH" | grep -q -v "^Non-fat"
  16. then
  17. echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
  18. lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
  19. EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
  20. fi
  21. done
  22. if [ -n "$EXTRACTED_ARCHS" ]
  23. then
  24. echo "Merging extracted architectures: ${ARCHS}"
  25. lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
  26. rm "${EXTRACTED_ARCHS[@]}"
  27. echo "Replacing original executable with thinned version"
  28. rm "$FRAMEWORK_EXECUTABLE_PATH"
  29. mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
  30. fi
  31. done