搜尋此網誌

工商服務

2013年9月12日 星期四

[工具秘技]在 Xcode 專案中,如何加入程式庫以避免編譯錯誤?

↑在 Xcode 中新增框架的範例畫面截圖。

↑遭遇「 Apple Mach-O Linker Error」連結器錯誤。

Objective-C 的程式庫( Library )叫做框架( Framework )。

在建置專案( Xcode 上方主選單: Product → Build )時,如果找不到原始檔或程式庫,就會遭遇連結器錯誤。這時候只需要將適當的 Framework 新增到專案中,問題便可迎刃而解。

舉例而言,假設是一支使用到 MPMoviePlayerController 的多媒體影音 App ,光只有在 .h 中加入「 MPMoviePlayerController *moviePlayer; 」之類的變數宣告,將會遭遇「 Unknown type name 'MPMoviePlayerController' 」錯誤,於是接著嘗試加入了「 #import "MediaPlayer/MediaPlayer.h" 」之類的表頭檔匯入動作,但是一旦在 .m 中加入「 moviePlayer = [[MPMoviePlayerController alloc] init]; 」之類的初始化動作時,卻會遭遇「 Apple Mach-O Linker Error 」連結器錯誤。終究你將會恍然大悟,原來一切都是因為忘記匯入程式庫所引起的。

至於需要加入哪些程式庫呢?在 Apple 官方的 iOS Developer Library 的相對應
 Class Reference 中會有詳細的說明。以 MPMoviePlayerController 這個類別為例,這份〈 MPMoviePlayerController Class Reference 〉文件在開頭處便指出了需要被額外加入的程式庫是 MediaPlayer.framework 。

以 MPMoviePlayerController 為例,在 Xcode 中加入所需 Framework 的方法如下:
  1. 開啟 Xcode (本例中使用的是 4.6.3 版本,搭配 iOS 6 Simulator )。
  2. 切換到 Project Navigator 分頁,點選最上方的根節點(即專案名稱本身)。
  3. 點選 TARGETS 項目,然後切換到 Build Phases 分頁。
  4. 展開 Link Binary With Libraries ,點選「 + 」。
  5. 在彈出的視窗中,於 Choose frameworks and libraries to add: 欄位中輸入 mediaplayer 充當關鍵字進行篩選。
  6. 選取 MediaPlayer.framework 並按下 Add 以新增程式庫。


───
奇步應用的臉書粉絲專頁經常分享新知趣聞,歡迎加入追蹤。

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...