1. itunes降級(jí)
下載完后惕蹄,安裝恰响,第一次啟動(dòng)的時(shí)候按住 option 鍵,這樣才不會(huì)報(bào)錯(cuò)关筒,安裝完成后描孟,即可下載應(yīng)用的 ipa 包驶睦。下載完成后,在應(yīng)用的圖標(biāo)上按右鍵匿醒,show in finder 即可找到 ipa 包场航。
2. Objective-C import 第三方庫(kù)頭文件總結(jié)
以下內(nèi)容轉(zhuǎn)載自:作者: KANGZUBIN
當(dāng)我們的 iOS 工程要引用其它第三方開(kāi)源庫(kù)時(shí),一般有以下幾種方式:
(1)下載源代碼直接拖拽到工程中廉羔;
(2)使用 CocoaPods 管理旗闽,當(dāng)開(kāi)啟 use_frameworks! 標(biāo)記時(shí),第三方庫(kù)會(huì)被編譯成 .framework 引入工程蜜另,否則就會(huì)編譯成 .a 靜態(tài)庫(kù);
(3)使用 Carthage 管理嫡意,第三方庫(kù)會(huì)被編譯成 .framework 然后導(dǎo)入工程举瑰;
(4)直接下載作者編譯好的 .framework 導(dǎo)入工程。
但當(dāng)我們?cè)诖a中要 import 第三方庫(kù)的頭文件時(shí)蔬螟,對(duì)于這幾種情況此迅,寫法都不太一樣,以 AFNetworking 為例旧巾,總結(jié)如下:
* 對(duì)于(1)拖拽源碼耸序,只能以 "" 引號(hào)的方式 import,
#import "AFNetworking.h"
* 對(duì)于(2)CocoaPods鲁猩,如果開(kāi)啟 use_frameworks!坎怪,則將編譯成 .framework 庫(kù),只能以 <> 尖括號(hào)的方式 import廓握,**此外搅窿,對(duì)于(****3****)和(****4****)也是這樣**嘁酿,
#import <AFNetworking/AFNetworking.h>
* 而對(duì)于 CocoaPods,如果不開(kāi)啟 use_frameworks!男应,則將編譯成 .a 庫(kù)闹司,此時(shí)有如下 3 種方式 import,
#import "AFNetworking.h"
// 或者
#import <AFNetworking.h>
// 或者
#import <AFNetworking/AFNetworking.h>
那么問(wèn)題來(lái)了沐飘,如果我們?cè)趯懸粋€(gè) SDK 或者私有的 Pods 庫(kù)游桩,需要宿主 App 工程引用某一個(gè)第三方庫(kù),如上所述耐朴,宿主工程有很多方式引用第三方庫(kù)借卧,這樣我們就無(wú)法確定應(yīng)該以哪種方式 import 頭文件,怎么辦呢隔箍?這時(shí)候我們就可以使用 __has_include() 宏來(lái)判斷谓娃。
__has_include() 宏接收一個(gè)預(yù)引入的頭文件名稱(引號(hào)或者尖括號(hào)都可以)作為參數(shù),如果該頭文件能夠被引入則返回 1蜒滩,否則返回 0滨达,使用起來(lái)如下:
#if __has_include(<AFNetworking/AFNetworking.h>)
#import <AFNetworking/AFNetworking.h>
#else
#import "AFNetworking.h"
#endif