自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在iOS中使用第三方類庫

移動開發(fā) iOS
在項目開發(fā)中經(jīng)常會用到一些第三方類庫,通常有兩種方法來做到:一種方法是直接把所有的.h和.m文件復(fù)制到項目中;另一種方法是把.xcodeproj拖到項目中生成靜態(tài)鏈接庫并引用。

方法一:直接復(fù)制所有源文件到項目中

這種方法就是把第三方類庫的所有源文件復(fù)制到項目中,直接把所有.h和.m文件拖到XCode項目中即可。如果第三方類庫引用了一些系統(tǒng)自帶類庫,那么在項目中還需要額外引用那些類庫。

如果當(dāng)前的項目啟用了ARC,而引用的第三方類庫未使用ARC,那還需要在項目信息的Targets – Build Parses里找到第三方類庫的.m文件,并為它們加上-fno-objc-arc標記。

而對于在未啟用ARC的項目用引用使用了ARC的第三方類庫,則需要為第三方類庫的.m文件加上-fobjc-arc標記。

另外,在源代碼中可以通過一個編譯器指令__has_feature(objc_arc)來檢測項目是否使用了ARC,具體見http://clang.llvm.org/docs/LanguageExtensions.html#langext-has-feature-has-extension。

方法二:引用.xcodeproj生成靜態(tài)鏈接庫并引用

首先,在XCode中把第三方類庫的.xcodeproj文件拖到當(dāng)前項目中;如果第三方類庫封裝了一些資源在.bundle文件里,那么.bundle文件需要和.xcodeproj一起拖到項目中。

然后,在項目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – Link Binary With Libraries添加第三方類庫生成的靜態(tài)鏈接庫引用。

接著,還需要在Targets – Build Settings – Search PathsUser Header Search Paths參數(shù)中加入第三方類庫的頭文件路徑,可以是絕對路徑如:/Users/libpath,也可以是相對路徑(相對于當(dāng)前項目文件夾)如:../**。

最后,有些靜態(tài)鏈接庫引用進來可能還需要增加一些標記,在Targets – Build Settings – LinkingOther Linker Flags參數(shù)中增加:-Objc–all_load這一類標記。

通過以上幾步,一般都可以成功編譯。

當(dāng)然還有一些例外的情況:

  1. 當(dāng)前項目和第三方類庫同時使用了另外的一些第三方類庫,這個時候還需要額外做一些處理才能成功編譯:在引用的第三方類庫的.xcodeproj項目 – Targets – Build Phases中的Compile SourcesCopy Headers把重復(fù)的.m和.h文件移除掉。
  2. 第三方類庫引用的一些系統(tǒng)自帶類庫,如果項目中沒有引用,也可能會引起編譯錯誤,這時還需要在項目中引用第三方類庫引用的一些系統(tǒng)自帶類庫。比如:第三方類庫引用了QuartzCore.framework,而項目中未引用QuartzCore.framework則可能引起編譯錯誤,就需要在項目中也引用QuartzCore.framework。
責(zé)任編輯:張葉青 來源: 開源社區(qū)
相關(guān)推薦

2014-07-22 10:56:45

Android Stu第三方類庫

2014-07-23 08:55:42

iOSFMDB

2011-07-20 10:12:33

XCode Cocoa dylib

2019-07-30 11:35:54

AndroidRetrofit

2015-11-05 16:44:37

第三方登陸android源碼

2012-04-19 14:16:22

TitaniumTiMVC

2013-01-15 13:50:22

iOS開發(fā)開源庫

2015-07-13 09:48:21

iOS

2015-07-13 13:34:13

ios第三方庫xcode插件

2010-05-25 11:09:31

SVN工具

2022-01-14 09:57:14

鴻蒙HarmonyOS應(yīng)用

2010-03-03 15:10:49

第三方Python庫

2011-07-25 14:14:49

iPhone SQLITE Pldatabase

2014-08-13 10:27:23

CocoaPods

2011-08-16 18:46:35

IOS開發(fā)Three20緩存機制

2021-10-11 06:38:52

Go開源庫語言

2009-12-31 14:38:34

Silverlight

2016-10-21 14:09:10

2017-12-11 15:53:56

2012-08-03 09:47:00

iOS 6第三方應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號