封裝iOS Framework遭遇各種error之解法

封裝....恩 其實用Xcode 6已經變得很簡單了,不多說~這邊只簡單紀錄一下我遇到的各種狀況

●問題一:image not found
  錯誤資訊
  dyld: Library not loaded: @rpath/authentication.framework/authentication
  Referenced from: /private/var/mobile/Containers/Bundle/Application/A122BB49-F6E0-4C2D-82EE-2933AAC02659/AuthenticationTest.app/AuthenticationTest
  Reason: image not found
 
  解決方式
  把library加入到Embedded Binaries


●問題二:無法載入Framework裡面的資源(例如xib檔)
  錯誤資訊
  Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle

  解決方式
  載入資源時要寫完整的Identifier


●問題三:無法載入Framework內的class
  錯誤資訊
  Symbol(s) not found for architecture armv7

  解決方式
  Framework在build的時候,要針對不同版本建立在Derived Data。也就是說要在模擬器跑就要create一個給模擬器用的Framework;反之,要在真機跑就要另外create一個給真機用的Framework


●問題四:輸出7.0為base的Framework,會有warning
  錯誤資訊
  Embedded dylibs/frameworks only run on iOS 8 or later

  解決方式
  不管他XD  https://github.com/ReactiveCocoa/ReactiveCocoa/issues/1480


●問題五:Class重複存在(通常發生在引用相同的第三方library) 
  錯誤資訊
  Class DDURLParser is implemented in both

  解決方式
  把第三方元件統一封裝給所有專案用,而不是每個專案各自引用

沒有留言: