天天看點

iOS真機和模拟器framework合并

一、設定Release模式

1、首先來選這裡

iOS真機和模拟器framework合并

2、選擇Run->将Debug改成Release,選擇Close,關閉

iOS真機和模拟器framework合并

二、運作項目

1、真機環境下,編譯工程

iOS真機和模拟器framework合并

2、模拟器環境下,編譯工程

iOS真機和模拟器framework合并

3、選framework,Show in Finder

iOS真機和模拟器framework合并

4、找到,真機和模拟器生成的framework

iOS真機和模拟器framework合并

三、合成

1、lipo -info 指令,可以檢測framework

lmydeMacBook-Pro:~ lmy$ lipo -info /Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/Release-iphoneos/OPDiscoveryDF.framework/OPDiscoveryDF 
Architectures in the fat file: /Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/Release-iphoneos/OPDiscoveryDF.framework/OPDiscoveryDF are: armv7 arm64 
lmydeMacBook-Pro:~ lmy$ 
           
說明:真集framework中包含 armv7 arm64
lmydeMacBook-Pro:~ lmy$ lipo -info /Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/Release-iphonesimulator/OPDiscoveryDF.framework/OPDiscoveryDF 
Architectures in the fat file: /Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/Release-iphonesimulator/OPDiscoveryDF.framework/OPDiscoveryDF are: i386 x86_64 
lmydeMacBook-Pro:~ lmy$ 
           
說明:真集framework中包含 i386 x86_64

2、合成

lipo -create "/Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/Release-iphoneos/OPDiscoveryDF.framework/OPDiscoveryDF" "/Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/Release-iphonesimulator/OPDiscoveryDF.framework/OPDiscoveryDF"  -output  "/Users/lmy/Library/Developer/Xcode/DerivedData/CloudLearning_OPDiscoveryDF-fyoydhuesnoytlbbbitgpbkgyzwh/Build/Products/OPDiscoveryDF"
           

以上指令太長了,可以直接先cd到 Products 目錄下,執行下面短的指令:

lipo -create "Release-iphoneos/OPDiscoveryDF.framework/OPDiscoveryDF" "Release-iphonesimulator/OPDiscoveryDF.framework/OPDiscoveryDF"  -output  "OPDiscoveryDF"
           

最終,在Products/目錄下,生成了一個包含armv7 arm64、i386 x86_64 的全的庫。

iOS真機和模拟器framework合并

3、替換,使用

将生成的OPDiscoveryDF檔案, 替換到任意一個OPDiscoveryDF.framework裡面去, 這個OPDiscoveryDF.framework我們就合成并可以使用了, 支援真機和模拟器使用。