你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> Swift 2.3 / 3.0如何添加第三方庫

Swift 2.3 / 3.0如何添加第三方庫

編輯:IOS7技巧
下面我們來看一篇Swift 2.3 / 3.0如何添加第三方庫了希望這篇文章能夠讓各位ios開發者知道Swift 2.3 / 3.0如何添加第三方庫吧。


Swift 3的 beta 版現在已經出來了, Chris Lattner 之前在郵件裡也大概提到說 Swift 3在八月就基本上全面完工


大家在寫小 demo 或者是項目遷移到 Swift 3.0 的時候遇到最大的一個問題應該是第三方庫的添加

Swift 社區一直都是熱情爆滿, 諸如 Alamofire, Decodable等第三方庫都有 Swift 3.0 的分支, 但如果在導入的時沒有處理一下, 就總是會出各種奇奇怪怪的問題, 我在這裡分享一下我自己的解決方案

其實主要要處理的問題就只有兩個

指定第三方庫的某個特定分支
指定工程文件內 Swift 編譯的版本
Cocoapods

這裡以 Alamofire 為例, 主要是需要在 podfile 裡面多加點東西

指定分支

首先是指定分支, cocoapods本身只支持 name 跟 version 兩個參數, 但我們可以通過指定 git 倉庫, 然後再指定 branch, 具體格式如下:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3'
指定編譯版本

還有就是指定 Swift 的版本, 只要在項目的最後加上下面這幾句就可以了, 這裡的幾句話對項目裡的 target 做了個遍歷, 修改了全部 target 的 Swift 編譯版本

post_install do |installer|
 installer.pods_project.targets.each do |target|
 target.build_configurations.each do |config|
 config.build_settings['SWIFT_VERSION'] = '3.0'
 end
 end
end

但是這麼寫有一個缺點, Objective-C 跟 Swift 的混編項目, 如果想要引入 OC 的庫的話, 就不能這麼做了, 但是一個一個去設置編譯版本又太麻煩, 我覺得最簡單的還是直接進去項目裡, 把 SWIFT_VERSION 這一項刪掉就可以了


完整 podfile 如下:

project 'sample.xcodeproj'

platform :ios, '9.0'

target 'sample' do
 use_frameworks!

 pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3'
end

post_install do |installer|
 installer.pods_project.targets.each do |target|
 target.build_configurations.each do |config|
 config.build_settings['SWIFT_VERSION'] = '3.0'
 end
 end
end
Carthage

Carthage 的具體用法我就不解釋了, 其實我個人而言還是更喜歡 Carthage, 自己操作過一遍基本上都能理解第三方庫導入的過程了

指定分支

Carthage由於本身就是一個去中心化的包管理器, 所以在 cartfile 裡面選擇分支就可以了

github "Alamofire/Alamofire" "swift3"
指定編譯版本

Carthage編譯就很簡單了, Swift 3的話直接 carthage update 就行了, xcodebuild 指向了Xcode 8的前提下, 默認 Swift 3, 但是 Swift 2.3的話就需要指定一下版本, 如下:

TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3 carthage update --platform ios
然後編譯的時候有一點需要注意的是, Carthage 默認會調用 xcode build 去變異, 如果我們電腦同時有兩個版本的 Xcode 的時候, 需要確認一下 Xcode build 的版本


如果不是 Xcode 8的話, 就運行一下這條命令去修改就可以了

sudo ./xcode-select -switch /Applications/Xcode-beta.app/

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved