轉載請標明來源:https://www.cnblogs.com/tony-17/p/11276027.html
原始碼編譯與製作靜態庫
- 下載cordova-ios原始碼,下載地址為:cordova-ios
- 解壓後使用Xcode進行編譯,編譯選定模擬器和Generic iOS Device,cmd+B,編譯成功(Dynamic、Static均可)即可;
3. 使用lipo命令,合併Cordova.framework
選中Products下的Cordova.framework檔案,Show in Finder找到該檔案
如果專案編譯成功,應該有兩個資料夾,我用的是bebug模式,所以存在Debug-iphoneos和Debug-iphonesimulator兩個資料夾
將Products資料夾Copy出來,使用終端工具,進行合併
合併成功後,出現新的檔案,檢視支援的架構
可以看到支援模擬器和真機;
之後將Cordova這個二進位制檔案放到Products下的任一Cordova.framework中,替換舊的exec檔案;
Podspec的製作,支援pod引入
前提條件:需要安裝了cocoapods
新建一個資料夾如CordovaiOSSDK,終端輸入
pod spec create Cordova
之後會生成一個 Cordova.podspec 檔案,接下來就是修改該檔案了,找個順手的編輯器,這裡使用的是sublime text 3
開啟podspec檔案,看到內容、註釋較多,將所有的註釋刪除,結果如下:
Pod::Spec.new do |s| s.name = "Cordova" s.version = "4.5.4" s.summary = "基於cordova-ios 4.5.4封裝的cordova sdk." s.homepage = "https://gitee.com/rayz-plugins-specs/cordova-ios-sdk" s.license = { :type => "MIT", :file => "FILE_LICENSE" } s.author = { "rayz_17" => "rayz_17@126.com" } s.platform = :ios, "9.0" s.source = { :git => "https://gitee.com/rayz-plugins-specs/cordova-ios-sdk.git", :tag => "#{s.version}" } s.requires_arc = true s.source_files = "*.framework/Headers/*.h" s.public_header_files = "*.framework/Headers/*.h" s.vendored_frameworks = "*.framework" s.frameworks = "AVFoundation", "AssetsLibrary", "CoreLocation", "MobileCoreServices", "Security", "SystemConfiguration", "AdSupport" end
說明:
- 在github、gitee、gitlab等網頁端建立一個cordova倉庫,將本地檔案上傳到倉庫中;
- 將合併後生成的framework用pod語法連結進去;
- 校驗一下私有庫是否可用`pod spec lint Cordova.podspec --allow-warnings`
如果不使用.framework,而又想使用pod引入,則在原始碼目錄下建立podspec檔案進行支援,其中核心部分如下: