IbrahimHassan

Architecture Script App Store Distribution

May 21st, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #Architecture Run Script
  2.  
  3. APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
  4.  
  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.  
  13. EXTRACTED_ARCHS=()
  14.  
  15. for ARCH in $ARCHS
  16. do
  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. done
  21.  
  22. echo "Merging extracted architectures: ${ARCHS}"
  23. lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
  24. rm "${EXTRACTED_ARCHS[@]}"
  25.  
  26. echo "Replacing original executable with thinned version"
  27. rm "$FRAMEWORK_EXECUTABLE_PATH"
  28. mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
  29.  
  30. done
Add Comment
Please, Sign In to add comment