Swift 工程下導入 AFNetworking 框架

先手動導入的方法,cocoapods導入的方法也有介紹,在后面。

手動導入的方法

  1. Github里面down下來AFNetworking的壓縮包,解壓縮然后將里面的AFNetworking和UIKit+AFNetworking這兩個文件夾直接拖進去要用的那個工程里面去。

  2. 在Build Phrases下的Compile Sources添加所有導入的.m文件。我在實際操作中沒做到這步,因為我把文件夾拖進去之后,貌似Xcode就幫忙把這步做好了。

  3. 同樣在Build Phrases下的 Link Binary With Libraries 添加MobileCoreServices.framework、Security.framework、SystemConfiguration.framework這三個文件。

  4. 創建"工程名-Bridging-Header.h"的文件,因為是在Swift工程中用到OC的代碼,所以要進行這個橋接的工作。在這個文件里面用#import "xx.h"這樣來包含我們剛剛放進來那些文件的頭文件,所有都要。

  5. 寫好這個橋接頭文件之后,在工程的 Build Setting 條目下的 Swift Compiler - General 中配置 Objective-C Bridging Header 寫好是剛剛那個"工程名-Bridging-Header.h",把這個名字填上去。(如果你的項目還要在OC的文件下調用Swift的方法的話,還要在Objective-C Generated Interface Header Name 里配置成"工程名-Swift.h",這個"ProjectName-Swift.h"由系統生成,你也可以用command+鼠標單擊來進入那個文件來看里面什么樣子)

然后就可以在Swift的代碼中使用AFNetworking里面的東西了。在Swift的文件下不用再去import什么的。

cocoapods的導入方法

  1. 安裝cocoapods,這個過程本身我遇到了很多問題。在這篇文章里沒辦法再展開。身邊小伙伴表示很順利,很簡單,沒有遇到我遇到的很多問題(苦笑不得)。

  2. 安裝好之后,在你的工程的文件夾里面用vim新建一個Podfile。填入

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target ‘YourProjectName’ do
pod 'AFNetworking', '~> 3.0'
end

這里的內容比官方的github上面給出的,多了的就是第3行的"use_frameworks!",另外注意的一點是工程文件夾指的是有"YourProjectName.xcodeproj",有這個文件的文件夾。然后再提一下vim的保存退出就是先按Esc鍵,然后輸入":wq"命令來保存退出。
需要注意的一點是:swift和OC中有一點不同,在swift中配置Podfile文件時要加上 use_framework! ,作用是把三方庫打包成靜態庫。

  1. 在終端中進入剛剛那個文件目錄下,調用"pod install"命令。有installation complete!就可能是成功了。(之前就一直有問題卡在這里了)

  2. 然后打開"YourProjectName.xcworkspace",注意不是"YourProjectName.xcodeproj"文件。然后如果成功的話,里面應該是能夠看到兩個藍色的項目那樣的東西,一個是你原來的項目,另外一個叫Pods,然后里面是裝好的AFNetworking。

  3. 在使用上和手動的方法也不太一樣。不過同樣地,我們需要一個橋連接頭文件。有一個比較簡單的讓系統幫你形成這個文件并同時配置好編譯設置的方法就是:在你的工程中新建一個.m文件,然后Xcode會提醒你是否要添加橋連接頭文件,你點是的話,就能幫你新建并配置好了。

  4. 在這個頭文件里面只需要import "AFNetworking.h",不過在swift文件中不會有提醒。

  5. 關鍵,在項目的General設置選項下,添加AFNetworking框架。要是沒出現的話,試試重新打開工程試試。(我之前卡這里了。第二天莫名就可以了。不知道是不是重啟的作用。之前不行,是這一步根本沒顯示有AFNetworking這個framework)

對比

手動導入的方式支持代碼提示。
cocoaPods方法代碼提示的相關鏈接
解決辦法: 選擇Target -> Build Settings 菜單,找到\”User Header Search Paths\”設置項,新增一個值"${SRCROOT}",并且選擇\”Recursive\”

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,259評論 4 61
  • 嗯哼嗯哼蹦擦擦~~~ 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 ...
    philiha閱讀 5,033評論 0 6
  • 被蚊子趕下班后走回我那小窩的途中,不經意間抬頭便看到那一串串的白棉花團掛在藍藍的天上,似乎在一路向南飄蕩,一時興起...
    秦川qc閱讀 365評論 0 1
  • 四天三夜的考研集訓營在老師的一節課一節課中結束了,來自不同學校的我們都體驗到了高中那些早已逝去的,對整個大學來說,...
    苦笑嫣然閱讀 227評論 0 2
  • 早上寫郵件的時候,還是習慣性的把日期寫成去年的,然后立刻反應過來,我已經過到2017年了。 2016年,對于我來說...
    Cola貓咪閱讀 209評論 0 1