ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

iPhone/iPod touch/iPad:開発者コミュの【質問】【お願いします】iPhone/iPad ユニーバサルアプリの作り方

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。
iPhoneアプリ開発をしているものです。

iPhone/iPad ユニーバサルアプリの作り方を教えてください。

xcodeのバージョンは、3.2.2
インターフェイスビルダーは、使用していません

プロジェクトの際などに、必要な作業などはあるのでしょうか?

このままではおうちに帰れません。

メッセでも、こちらの書き込みでもいいので、
ご回答宜しくお願いいたします。

かしこ

コメント(8)

なら、
1. ターゲットのユニバーサル化
2. 回転対応(必須ではないが、基本的に対応してないとApp StoreでRejectされる)
3. Info.plistでiPhone/iPadの変数分け
4. 画像(loadingやicon等)
5. App Store用のスクリーンショット等
ぐらいが必要ですかね。

Interface Builderを使ったアプリのユニバーサルアプリ化について
http://bakkers.gr.jp/~kitani/event/iphonekyoto/#3-2
にPDFとPowerPointで資料出してますので、必要なら参考にしてみてください。
回答ありがとうございます!
分かりやすい資料本当にありがとうございます!!

上記に付け加え
2つ質問があります。
・Interface Buildeは必須ですか?

・ユニバーサル用にプロジェクトを作った場合、
プロジェクト内に、iPad/iPhone/shaeradというフォルダが出来ますが、
ソースファイルはどこにいれればいいのでしょう?
iPadにはiPadのソースをいれて、
iPhoneにはiPhoneのソースを、
Sharedには共通のソースを入れるという認識であっているのでしょうか?

現在、画面の表示パーツのサイズは、プログラム内でハンドリングするように実装しています。

ご回答宜しくお願いします!
・Interface Buildeは必須ですか?
いえ、OpenGL等を使えば必要有りません。
つまりxyz座標系を使ってプログラムコード内で描いていくって感じですね。

・ユニバーサル用にプロジェクトを作った場合、 のソースファイルの振り分け
完全に分けてもいいですが、処理が同じなら同じソース内にiPadの場合、iPhoneの場合と場合分け(プラットフォーム検出)するのがいいかなと思います。画面の大きさに考慮するということですね。大抵は、画面の縦横の定義変数でも作って置いて、これをベースにコーディングしておき、プラットフォーム検出で、iPadとiPhoneのときの定義変数に入れる値を変えたらいいんじゃないかなと。

それからグループ(左サイドメニューのフォルダ)については、視覚的に分かりやすくするためであって、特に決まりがあるわけではありません。
むしろInfo.plistで、
- iPad用:「設定名 (iPad)」
- iPhone用:設定名
でどのファイルを使うか指定します。

ソースを分けるのは、資料のP8「iPHoneアプリのiPad化(2)の末尾に書いたように、どのフォルダでいいんですが、ファイルを新規作成(ソースファイルの)するときに選択できるターゲット先を、iPadにするのかiPhoneにするのか選択すればいいのです。
ありがとうございます。

ビルドの際のプロジェクト設定などは特に行う必要があるでしょうか?

今は、

Targeted Device familly がiPhone/iPad
iPhoneOS Deployment TargetがiPhoneOS3.2
アーキテクチャがOpptimized(armv6 armv7)
ベースSDKがiPhoneデバイス3.2
有効なアーキテクチャがarmv6 armv7

でビルドした場合
Warning;bullding for deploiment target '3.2' should omit the armv6 arcitecture.
という警告が出てしまいます。

何度も申し訳ございませんが、回答宜しくお願いします。
その警告がでたら、プロジェクト設定のアーキテクチャー項目の「有効なアーキテクチャー」からarmv6を削除し、armv7だけにした上で、有効なアーキテクチャのみをビルドにチェックをいれたらいいとかかれてますね。

情報源:http://stackoverflow.com/questions/2488353/hope-to-remove-armv6-architecture-for-ipad-in-xcode

こちらではMacOS10.6, Xcode 3.2.2 / 3.2.3の両方でそこらへんの設定をいろいろいじっても、上記エラーは出ません。そのため、このあたりの何が正しいのかは分かりませんねぇ。
Targeted Device familly がiPhone/iPad
iPhoneOS Deployment TargetがiPhoneOS3.1.3
アーキテクチャがOpptimized(armv6 armv7)
ベースSDKがiPhoneデバイス3.2
有効なアーキテクチャがarmv6 armv7
アクティブSDKをベースSDKを使用

にして、ビルドしてみたたところ、
警告がでず、iPhone/iPadの共通バイナリーができました。

ちなみに、この状態でもinfoPlistのCFBundleIconfilesをそれぞれ設定したら
iconを分けることは可能でしょうか?

何度もすいません・・・
調べてもなかなかでてこなくて・・・
そうですね。

CFBundleIconfilesで検索してもらうと出てくると思いますが、
http://ameblo.jp/tomotaken/entry-10583495383.html
などに詳しく載っています。

基本的に、ここにArray形式でIconファイル名を追加することで、
それがiPad用なのかiPhone用なのかは、iconサイズで自動判別してくれます。
ありがとうございます!!!
いっぱい質問してしまって申し訳ございませんでした。
でも本当に助かりました!
本当にありがとうございました^^

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

iPhone/iPod touch/iPad:開発者 更新情報

iPhone/iPod touch/iPad:開発者のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。