xcode 创建脚本,打包时删除动态库的模拟机架构

ios8 之后, 苹果开放了动态库.也就是我们可以打包动态库, 但动态库如果上传到iTunes 是不能包含模拟机架构的. 所以就要求我们在打包时先删除模拟机的架构.
可以添加一个run 脚本帮我们完成, 参考网址

下图就是脚本


Shell: /bin/sh

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
    echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"

    EXTRACTED_ARCHS=()

    for ARCH in $ARCHS
    do
        echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
        lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
        EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done

    echo "Merging extracted architectures: ${ARCHS}"
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"

    echo "Replacing original executable with thinned version"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"

done

该脚本将查看你构建的应用程序的Frameworks文件夹~~ end

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,223评论 4 61
  • 一天,收到一研友的留言:小喵,你知道吗?L同学现在已经拿到天使投资,自己创业当CEO了,你说当时我们的情况都一样,...
    笑乐妈育儿阅读 1,525评论 0 1
  • 今天学习了,怎么样快速阅读。我们看一本书的时候,要回想一下,作者给我们要传递什么。把作者当成我们的一位朋友,或者现...
    过有准备的人生阅读 90评论 0 0
  • 凹凸培训在祁东 堪称祁东教育熊 教育模式一对一 高质高量助学童 祁山白水蕴敬意 优异苗子乐其中 成绩飞升劲头足 好...
    小启明星阅读 854评论 7 12
  • 清风识人 晚上跟先生去逛夜市,刚好经过OPPO手机专卖店搞活动,场面非常的火爆热闹。先生一直怂恿我去看一下,但是不...
    清风识人阅读 2,912评论 0 0