STUDiO405

趣味のスノーボードやSK8、キャンプ、山登り、iOSアプリ開発関連のブログになる予定

WatchKit apps must have a deployment target equal to iOS 8.2 (was 8.3)

WatchKit Frameworkを既存のアプリにOptionalで追加しました。
ビルドしてみるとエラーとなり、当記事のタイトルのメッセージが出力されました。
 
WatchKitを追加した際に作成したWatchKit ExtentionとWatchKit AppそれぞれでTarget -> Build Settings -> Development 内のiOS Development Targetを iOS8.2に変更してビルドしてみました。
 
結果は...
またもエラー!
メッセージは「The value of CFBundleShortVersionString in your WatchKit app's Info.plist (1.0) does not match the value in your companion app's Info.plist (1.6). These values are required to match.」に変わってました。
 
本体アプリのCFBundleShortVersionStringは1.6なんですけど、今回追加したWatchKit関連のバージョンは1.0、Today Extentionも1.0(Xcode6.2の時はエラーでなかった)だったので本体に合わせてビルドしてみました。
 
結果はまたもエラー。
今度は「The value of CFBundleVersion in your WatchKit app's Info.plist (1) does not match the value in your companion app's Info.plist (1.6). These values are required to match.」
あ、もう片方も合わせないといけないのか。
 
CFBundleVersionを1.6.0.1にCFBundleShortVersionStringは1.6.0に全て変更してビルド!
やっとビルド通りました。
CFBundleVersionはリリース前に変更が発生したら4つ目の数字をカウントアップしていけばいいかな?
 
ちなみにバージョンについては以下を参考にました。qiita.com
stackoverflow.com
 
WatchKitとは関係ないですけど、広告系の外部ライブラリの最新版入れたらduplicate symbolエラーが出たので仕方なく重複してるとこ(Xcode6.2まではこんなエラー出なかった)削除したら今度はfile not foundのエラーが出るようになったので一旦削除しました。
これを何とかするか、それともこのライブラリ使うのやめるか考えないと。
それとUIWebView使ってるとこのメモリ使用量が多いので削減したい。