PebbleKit iOS SDK dynamic framework 問題

最近 EverLearn の Pebble アプリがiOSアプリと接続できずエラーが表示されるので、重い腰を上げて PebbleKit iOSを最新に上げてみた。
cocoapod を使っているので pod install で更新されるのだが、pod install するたびに Xcodeの Build Settings > Build Active Architecture Only が YES になるので、まずその設定を NO に修正。
これでビルドは通るようになるのだが、次に今までみたことがないエラーが表示された。
dyld: Library not loaded: @rpath/PebbleKit.framework/PebbleKit Referenced from: /var/mobile/Containers/Bundle/Application/…
Reason: image not found
結局この解決に1日使ってしまったが、
pebble/pebble-ios-sdk at 3.1.1: iOS PebbleKit SDK to talk to the Pebble via Bluetooth をみると
PebbleKit is now a dynamic framework. とある。
いろいろ調べたところ iOS8からそれまでは OS Xでしか利用できなかった dynamic framework が利用可能になったらしい。 Swift をサポートするためには dynamic framework でなければいけないようで、PebbleKit iOSはSwift対応したのでその際に dynamic framework 対応もされたらしい。
そして、dynamic framework を利用するためには General > Embedded Binaries に PebbleKit.framework を追加しないといけないらしい。
Embedded Binaries with iOS Framework – Stack Overflow
ということで、今は動くようになった。
しかし Pebble のBluetooth 接続がおかしいので Reset したら、PebbleのUpdate Server が止まっているらしく復旧ができなくなってしまった。
困るので早く直して下さい Pebble.
2016/02/28 更新
その後Pebbleのサポートに連絡してみたところ、iPhone側をリセットすることで解決できた。サーバー側の問題ではなかったようだ。 Pebble Update Server Error 問題 | tokentoken.com
そして Dynamic framework 問題だが、PebbleKit Framework をダウンロードして解決したと思ったら、App Storeへのアップロード時に問題が発生してしまった。 
Pebbleサポートに問い合わせしたところ、Frameworkファイルを直接組み込んだ場合は、自分で不要なものを strip しないといけないらしい。
He has to strip the framework from the simulator architectures before sending it to the App Store. Cocoapods and Carthage do this for you. You can use the Carthage method instead of creating your own script: https://github.com/Carthage/Carthage and look for step 4 for the `carthage copy-frameworks` build phase.
cocoapod を使えばその処理は不要だというので、以前失敗したのだが… と思いつつ再度試したところ、今回はなぜか大丈夫だった。
ということで今は cocoapod を使ってビルドもApp Storeへのuploadでもできている。以前なぜできなかったのかは不明だ。
関連記事
-  
                              
- 
              Apple Event 2016秋 See you on the 7th2016秋のApple Eventは 2016/09/07(日本時間 9/8 2:00)に行われた。 
-  
                              
- 
              Pebble WatchApp の設定をスマホから変更可能にするこのページは Pebble SDK 2.0 Tutorial #9: App Configura 
-  
                              
- 
              iOS 4.2.1, iOS SDK 4.2, Xcode 3.2.5 にアップデートiPhone 3GSを、昨晩でたと思われる、iOS 4.2.1にアップデートしてみる。 iOS 4. 
-  
                              
- 
              [購入報告] ELECOM BluetoothオーディオレシーバLBT-ACR02HF今乗っているHONDA Freed にはHDD付きカーナビが搭載されていて、CDからリッピングしたデ 
-  
                              
- 
              [iOS SDK] iPad 専用アプリをiPhoneでも使えるようにするiPad 初代やiPad2の頃は、iPhoneとiPadの画面サイズがかなり異なり、また 
-  
                              
- 
              林信行氏 iPhoneの衝撃 セミナー 2009/10/07@代々木 に参加してきたいまさらながら、2009/10/07(水)に行われた、林信行氏 iPhoneの衝撃 セミナーのレポ 
-  
                              
- 
              iPhoneアプリにAboutBoxを実装iPhoneアプリにAboutBoxを実装するためのメモ。 今回、自分のiPhoneアプリにAbou 
-  
                              
- 
              MacPeople 最終号2014年11月号で休刊。 1995年10月に創刊されたらしい。 最終号はiPhone6/iP 
-  
                              
- 
              iPhoneアプリビジネス本 The Business of iPhone App DevelopmentiPhoneアプリを売るための情報が詰まった本。 ここまでやるか、というくらいの情報が詰まっている。 
-  
                              
- 
              LSSupportsOpeningDocumentsInPlace拙作英単語学習アプリ EverLearn で LSSupportsOpeningDocuments 

 
         
         
         
        