2013-05-20 95 views
2

我跟着本文中的說明創建靜態庫:iOS的靜態庫不起作用

http://developer.apple.com/library/ios/#technotes/iOSStaticLibraries/Articles/creating.html

我建立了它的iPhone模擬器目標。它成功構建,然後導入到我想要使用它的新項目中。它進口很好,沒有問題,但圖書館不工作。沒有我打電話的圖書館方法;相反,庫的目的是調整UIViewController的viewDidAppear方法,以便每次出現UIViewController時執行一段代碼。儘管我的庫被包含在「Link Binary With Libraries」構建階段中,但這段代碼並未被調用。

我知道問題不在於代碼本身,因爲如果我導入原始.m和.h源文件而不是庫,一切工作正常。

+0

我猜想,您實際上並不交叉混合的方法;這將需要執行代碼。你的庫中可能有一個* category *,它應該全局覆蓋'viewDidAppear'。在這種情況下,這個答案應該有所幫助:http://stackoverflow.com/a/2615407/573626(簡而言之:你需要添加'-ObjC'鏈接器標誌) – omz

回答

6

您的圖書館是否包含任何類別?

如果是這樣,我想你應該按照以下步驟來得到它的工作:

  1. 在Xcode中,在「目標」在項目窗口中雙擊目標的名字。
  2. 選擇「生成設置」面板。
  3. 向下滾動到Linking集合下的「Other Linker Flags」構建設置,並將其值設置爲「-all_load -ObjC」。

請參照相應的Apple Documentation

這裏有一個相關的問題:Objective-C categories in static library