Cordova-iOS SDK封裝

tony_17發表於2019-07-31

轉載請標明來源:https://www.cnblogs.com/tony-17/p/11276027.html

原始碼編譯與製作靜態庫

  1. 下載cordova-ios原始碼,下載地址為:cordova-ios
  2. 解壓後使用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檔案進行支援,其中核心部分如下:

    

 

   

相關文章