iOS—生成framework的shell脚本,生成的SDK可以嵌到项目里运行,编译发布

set -e

pod install
pod update

rm -fr build
mkdir -p build/Output

xcodebuild \
  -workspace "xxxx(替换SDK的名字).xcworkspace" \
  -scheme "xxxx(替换SDK的名字)" \
  -derivedDataPath build \
  -arch armv7 -arch armv7s -arch arm64 \
  -sdk iphoneos \
  ONLY_ACTIVE_ARCH=NO \
  -configuration Release \
  -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=4 \
  OTHER_CFLAGS="-fembed-bitcode" \
  build \
  CODE_SIGN_IDENTITY="" \
  CODE_SIGNING_REQUIRED=NO

xcodebuild \
  -workspace "xxxx(替换SDK的名字).xcworkspace" \
  -scheme "xxxx(替换SDK的名字)" \
  -derivedDataPath build \
  -sdk iphonesimulator \
  -destination 'platform=iOS Simulator,name=iPhone 6' \
  ONLY_ACTIVE_ARCH=NO \
  -configuration Release \
  -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=4 \
  OTHER_CFLAGS="-fembed-bitcode" \
  build \
  CODE_SIGN_IDENTITY="" \
  CODE_SIGNING_REQUIRED=NO

rm -f build/Output/libactor.so


lipo -create "build/Build/Intermediates/xxxx(替换SDK的名字).build/Release-iphoneos/j2objc/Objects/libactor.so" "build/Build/Intermediates/xxxx(替换SDK的名字).build/Release-iphonesimulator/j2objc/Objects/libactor.so" -output build/Output/libactor.so

# Building Framework
# Copy base framework
rm -fr build/Output/xxxx(替换SDK的名字).framework
cp -a build/Build/Products/Release-iphoneos/xxxx(替换SDK的名字).framework build/Output/

# Merging binaries
lipo -create "build/Build/Products/Release-iphoneos/xxxx(替换SDK的名字).framework/xxxx(替换SDK的名字)" "build/Build/Products/Release-iphonesimulator/xxxx(替换SDK的名字).framework/xxxx(替换SDK的名字)" -output build/Output/xxxx(替换SDK的名字)_Lipo
rm -fr build/Output/xxxx(替换SDK的名字).framework/xxxx(替换SDK的名字)
mv build/Output/xxxx(替换SDK的名字)_Lipo build/Output/xxxx(替换SDK的名字).framework/xxxx(替换SDK的名字)
rm -fr build/Output/xxxx(替换SDK的名字).framework/Frameworks

# Merging swift docs
cp -a build/Build/Products/Release-iphonesimulator/xxxx(替换SDK的名字).framework/Modules/xxxx(替换SDK的名字).swiftmodule/* build/Output/xxxx(替换SDK的名字).framework/Modules/xxxx(替换SDK的名字).swiftmodule/

# Copying dSYM
cp -a build/Build/Products/Release-iphoneos/xxxx(替换SDK的名字).framework.dSYM/* build/Output/xxxx(替换SDK的名字).framework.dSYM/

# Compressing Framework
cd build/Output/
rm -f xxxx(替换SDK的名字).zip
zip -r xxxx(替换SDK的名字).zip xxxx(替换SDK的名字).framework xxxx(替换SDK的名字).framework.dSYM

转载于:https://my.oschina.net/ArtemisFang/blog/1588607

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值