导出通用框架以进行分发

时间:2016-02-02 16:08:40

标签: ios objective-c iphone xcode

我创建了一个框架

现在如果在finder中显示它, 它有2个具有框架的目录

  1. iphoneos

  2. iphone simmulater

  3. 现在我创建了一个应用程序,并从iphoneos目录中拖动我的框架,它在iphone设备中运行良好,但在simmulater中出错。

    同样地,如果我从iphone模拟器拖动框架,它在simmulater中工作正常,但在设备中给出错误。

    请如何在联合收割机中导出两个目录框架。 我试图使用aggreation目标运行lipo脚本,但它失败了 请指导正确的步骤。

1 个答案:

答案 0 :(得分:1)

您可以将类似脚本添加到构建设置Build Phase标签Run Script

# debug sim
xcrun xcodebuild -project myFramework.xcodeproj -target myFramework -configuration Debug -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO

# release sim
xcrun xcodebuild -project myFramework.xcodeproj -target myFramework -configuration Release -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO

# debug ios
xcrun xcodebuild -project myFramework.xcodeproj -target myFramework -configuration Debug -sdk iphoneos ONLY_ACTIVE_ARCH=NO

# release ios
xcrun xcodebuild -project myFramework.xcodeproj -target myFramework -configuration Release -sdk iphoneos ONLY_ACTIVE_ARCH=NO

mkdir -p build/Release-Universal/myFramework.framework
cp -r build/Debug-iphonesimulator/myFramework.framework/* build/Release-Universal/myFramework.framework/
rm build/Release-Universal/myFramework.framework/myFramework

# lipo
lipo -create build/Release-iphoneos/myFramework.framework/myFramework build/Release-iphonesimulator/myFramework.framework/myFramework -output build/Release-Universal/myFramework.framework/myFramework