PebbleKit iOS SDK dynamic framework 問題

公開日: : 最終更新日:2016/02/28 iPad, iPhone, Pebble

Embedded Binaries

最近 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へのアップロード時に問題が発生してしまった。 appstore-errors

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でもできている。以前なぜできなかったのかは不明だ。

関連記事

iPadアプリおんぷちゃんでMiselu C.24 をサポートしました

Bluetoothキーボード兼iPadカバーの Miselu C.24 が届いたので、iPadアプリ

記事を読む

dyld`__abort_with_payload:でクラッシュ WatchKitApp on Xcode11.1

Xcode 11.0 や Xcode11.1で以前はビルドして実行できていたWatchKi

記事を読む

no image

新しい iPad の感想

昨日2012/03/16(金)は新しいiPadの発売日。 早速買って会社に持ってきた人がいたので、手

記事を読む

ついにうちにもジェットブラックが来た。

予約から1ヶ月、ようやくうちにもiPhone 7 Plus ジェットブラックがきた。(2016/10

記事を読む

[iOS 開発本] iOSフラットデザインの作法

iOS7で採用されたフラットデザインに関して、個人的には Windows 8のMetroのイ

記事を読む

no image

[iPhone開発のネタ帳] loadView, viewDidLoad と viewDidUnload 2011/08/12

拙作のiPadアプリ タッチ!にほんちず や タッチ!ヨーロッパ地図でUIWebViewContro

記事を読む

no image

NSURLConnnection オブジェクトをいつ解放するか 2011/08/06

NSURLConnection の -[NSURLConnection initWithReque

記事を読む

LogLocations 1.3.4 リリース

久しぶりに、LogLocations をアップデートしました。今までピンを置いていた画面に、時刻を表

記事を読む

EverLearn 1.8.1 を公開しました

EverLearn 1.8.1 を本日公開しました (2016/10/27)単語検索ページで単語をハ

記事を読む

no image

iPhone 5 用のケースと保護シートとジャケットを買ってみた

発売日翌日に16GB iPhone 5を入手できたので早速ケースと保護シートとジャケットを買ってみた

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ポモドーロテクニック用物理タイマーならTime Timer

会社ではなかなか自由に時間を使えないが、家で読書や作業をする

DELL 32インチディスプレイ U3223QE 購入

Dell U3223QE は解像度 3840x216

WWDC 2023 Vision Pro発表

2023/6/5 (日本時間 2023/06/06 2AM)のWWD

M1 MacBook Air を Venturaにアップデートする

M1 MacBook Air を macOS Montere

iOS16でaurioTouch の inBufferFramesが1になる

https://developer.apple.com/librar

→もっと見る

PAGE TOP ↑