-
打開xcode ->選擇Framework&Library中的Cocoa Touch Static Library如下圖:
-
點擊Next:取工程名:YDemoSDK(根據自己需求)完成後有這幾個文件
-
刪除沒有必要的.m文件
-
添加UI這裏:這裏以alertView 爲例如圖
-
接下來就是在YDemoSDK.h 文件中引入#import “CustomIOSAlertView.h”,此時的
-
第一種是在模擬器上,運行的sdk:選中一個模擬器:直接commend + B 編譯:libYDemoSDK.a 變爲黑色,接下來就可以來在其他工程裏玩了。新建一個文件夾起名字爲YDemoSDK:選中libYDemoSDK.a 右擊show in finder 找到位置,將libYDemoSDK
.a YDemoSDK.h 以及CustomIOSAlertView.h三個放到一個文件夾
-
隨便建一個工程,把你的sdk導入進去,引用一下就行了
-
當你把他換成真機運行時,就會出現報錯,因爲我們建立的只是在模擬器上運行的,如果想要在真機上運行就要:打開剛剛的YDemoSDK工程,編輯一下,就行了
-
但是問題來了,我們在換成模擬器時,在其他工程中跑會同樣出錯,接下來就是關鍵了,將兩個.a 文件合併成一個使得兩者都可以在工程中跑,
-
選中YDemo中libYDemoSDK.a 右擊選着show In Finder ,打開終端 輸入cd 再將.a文件拉進去去掉libYDemoSDK.a,按回車鍵
-
輸入:lipo -info libYDemoSDK.a 查看信息會出來:Architectures in the fat file: libYDemoSDK.a are: armv7 arm64 這個是真機的編譯器,
-
輸入:cd …/ 回車,然後在ls 出來兩個文件夾:Debug-iphoneos Debug-iphonesimulator,後者是模擬器,我們cd Debug-iphonesimulator 然後lipo -info libYDemoSDK.a查看信息出來:Non-fat file: libYDemoSDK.a is architecture: x86_64
-
合併兩個.a文件輸出到(-output /Users/Bruceyao/Desktop/libYDemoSDK.a):就是兩個.a文件的絕對路徑,
lipo -create “/Users/Bruceyao/Library/Developer/Xcode/DerivedData/YDemoSDK-abrksdjabebxkzflxvatgvupsysy/Build/Products/Debug-iphonesimulator/libYDemoSDK.a” “/Users/Bruceyao/Library/Developer/Xcode/DerivedData/YDemoSDK-abrksdjabebxkzflxvatgvupsysy/Build/Products/Debug-iphoneos/libYDemoSDK.a” -output /Users/Bruceyao/Desktop/libYDemoSDK.a
- 查看新的SDK後:arm7 x86_64 arm64,真機和模擬器都可以
- 最新運行之後都可以,真機和模擬器。demo地址:https://github.com/YaoChengZhen/YSDKDemo1.git