iPhoneアプリの無料版と有料版を同じソースから作りたい
こども向けに作った自作アプリおんぷちゃんは、習作でもあったのでiPhone無料版、iPhone有料版、iPad有料版と毎回ほぼ古くスクラッチから作っていたので、全てコードベースが異なる。
(もちろん流用したコードも沢山あるけれども)
今回、iPhone有料版にランキングモードを追加したのだが、これをiPhone無料版に入れようとしたところ、いろいろと相違点があるために簡単にはできなかった。
ということで、この機会に有料版から一部機能を削る形で無料版を作ってみることにした。
[iPhoneアプリ開発] 無料版と有料版を同じXcodeプロジェクトで作る – func09を参考にして、同じソースから無事無料版を作り分けることができたのだが、おんぷちゃんの場合、日本語版とそれ以外でアプリ名を切り替える必要があるため、InfoPlist.stringsで
CFBundleDisplayName = "My Little Note";
のようにしてアプリ名を指定している。
さらに、無料版と有料版でアプリ名が異なる(片方はLiteがついていたりする)ので、このファイルも無料版と有料版で切り替える必要がある。
これにちょっと苦労したが、InfoPlist.strings ファイルを選択して、「情報を見る」でターゲットを指定し分けることで対応できた。
ここまででビルドができるようになったのだが、最後に App Store にSubmitするところで問題が起きた。
Xcode から Build and Archive はできるのだが、Validation をパスすることができない。というよりも、実行しても反応がない。
当然 Submit まで進むことができない状況になっている。
いろいろ試しているうちに、今度は以前は問題なかった、無料版のiPhoneへの転送時に The executable was signed with invalid entitlements 0xE8008016 エラーが発生するようになってしまった。
確かにこの前 Development Certificates の更新はしたので、それが原因だろうか。しかしCertificate もProvisioning Profileも正しく生成されているはずなのだが。
有料版の方をターゲットに指定すれば問題なくiPhoneに転送して実行できるし、以前作成してた無料版のプロジェクトからも同じProvisioning Profileを使って普通に転送できている。
なぜか、無料版だけ実行できないという問題だ。
build ディレクトリの削除や、全てのターゲットのクリーニングはもう何度もやっているが、改善されない。
昨日から数時間はまっているので何とか解決したいところだ。
追記 2011/04/12
- build – How do I manage building a Lite vs Paid version of an iPhone app? – Stack Overflow
- How To: Create A Lite Version of your iPhone App | Chris Fletcher’s Blog
- tutorial for iphone applications | build different version of your iphone application | same Xcode project create multiple products | iPhone Tutorial for Beginner | Programmer | Developer | Submission Guideline
どれにも解決方法は載っていなかった。
XCodeとiOS SDKが少し古かったので、最新の XCode 3.2.6 + iOS SDK 4.3 にあげてみたが、状況は変わらなかった。
追記 2011/04/13
Twitterで質問したところ、@SumPositive さんから情報をもらうことができた。
情報1
情報2
そもそも参考にした例でターゲットにはスペースが入っていたので問題があるとは全く思っていなかったのだが、実際にターゲット名称からスペースを削除してみたらiPhoneに転送ができてしまった。
参考にしたStackOverflowの記事というのは、これだろうか。
ios – Xcode 4: Build Failed, No Issues – Stack Overflow
しかしこれで解決したと思ったが実はこの後も苦労は続いたのだった。
関連記事
-
-
[iPhone SDK] GPX Format で位置情報を出力
今公開している Log Locations は割り切りでエクスポート機能を入れていなかったのだけれど
-
-
au で iPhone5 を下取りに出してきた
今ならiPhone 5を32000で買い取りしてもらえるということで、au Shop に行っ
-
-
iOS14からおんぷ先生と接続できない
下記の問い合わせがあり、調べたところ、iOS14からおんぷちゃんとおんぷ先生がBluetoothで
-
-
iPhone 3GS/4 で使える Bluetooth キーボード ELECOM TK-FBP017BK
フォローしている人のつぶやきで発見した記事で知ったキーボード。iPhone4ユーザー必携Blueto
-
-
unite スマートベース SmartBase for iPhone
しばらく前に買って愛用していて、今回もう1台買ったので紹介。iPhone 3G/3GS用と、
-
-
電子書籍を出してみたよ! を買ってみた。
面白そうだったので買ってみた。電子出版に興味のある出版関係者で集まってKindle Storeで日本
-
-
おんぷちゃん for iPad 1.3.3 Submit
今回は紅白歌合戦を見ながらSubmit。 相変わらずうちの娘が譜読みに苦労していて新しい曲を弾く
-
-
App Storeの売り上げを簡単に確認できるMacアプリAppViz
App Storeでのアプリの毎日の売り上げを確認したい場合、これまでは AppSalesを使ってい
-
-
iPhone SDKでユーザデータをローカルに保存したい
一応5日より次のiPhoneアプリの開発を始めた。 前回のアプリはアプリの設定をちょこっとローカルに
-
-
基礎から学ぶ CoronaSDK
基礎から学ぶ CoronaSDK という本が2012/2/25にでるらしい。 昔 CoronaSDK