ラベル 審査提出 の投稿を表示しています。 すべての投稿を表示
ラベル 審査提出 の投稿を表示しています。 すべての投稿を表示

2021年2月16日火曜日

Appのプライバシーの入力が必須になる

 Apple Developerからメール(当然英語)でも来てたけど、2020/12/8からApp Storeでアプリを公開、アップデート時などに新たに「Appのプライバシー」という項目を入力する必要ができた。

アプリを使う上で、いろんな情報を収集してるか/してないか、しているならそれはどんな情報で、何のために収集してるか…ってことを入力するわけ。

2020年5月5日火曜日

Xcode以外でAppStoreにアップロードする

Mac App Storeより
久しぶりにいじっててApp Store Connectにアクセスして気付いたんだけど、Xcode以外にもAppStoreにアプリをアップする方法があるんだな。

2019年9月28日土曜日

バージョン表記にご注意

以前リリースしたものが些細なバグを治したものだったのでVersion 1.01だったのね。
んで、今度リリースするのを1.1にしてXcodeからvalidateかけたらエラーが出やがった。Invalid Bundleだって。前のよりも高い数字を入れろっていう。

前のが1.0.1のつもりだったんで、1.1ならいいだろうと思ったんだけど、よく考えたら1.01と1.1じゃ数学的には同じだな。AppStoreConnectでは単なる文字列としてじゃなく数字として見てるみたい。
一応公式にはメジャーバージョン・マイナーバージョン・些細な修正みたいな感じで数字を作れって推奨してるようだ。1.2.10みたいに。

AppStoreConnectじゃもうversion1.1として新バージョンを作り始めちゃってて、それを消したりバージョンを変えたり変更ができない。
しょうがないからXcodeのプロジェクトのVersionを1.1.1にしたらvalidateもuploadも通って、一応審査には出せた。
最終的に審査でリジェクトされるかもしれないけど、様子見。

もし1.01と1.1を本当に同じものとして見てるなら、1.1でBuildナンバーを1.01の時より増やせば行けるかもしれない。もしリジェクトされたら試すー。

って言うか、誤った情報の取り消しや編集をさせろよ…💢

2019年1月10日木曜日

アプリアイコンを一括登録しよう

AppStoreで販売する際、XcodeにAppIconを様々なサイズで登録しなきゃいけないのが死ぬほどめんどくさいんだけど、これをアプリを使って解決しようという話。

使うアプリはMacAppStoreのIconKitという有料アプリ。

ここに画像をドロップする
起動すると開くウィンドウに、一番高い解像度の画像をドロップするだけ。今なら元画像は1024*1024のサイズで作っておけばいいな。

画像をドロップしたところ。
 必要な書き出し対象をチェックし、 下のいずれかのボタンを押す。

JSONファイルを作るオプションをチェックすると登録が楽
Previewボタンを押すと一度各サイズのプレビューが見られる。
Save without previewボタンを押すとすぐに保存ウィンドウが開く。
この後の登録が楽になるので、下のJSONファイルも一緒に作るようにしておこう。
アイコンが書き出されるとAppIcon.appiconsetというフォルダと、中にそれぞれのサイズの画像ファイルとアプリアイコンサイズとの結びつきの情報が書かれたContents.jsonというファイルが作られる。

説明を追加
XcodeでAppIconを右クリックしてShow in Finderを選ぶとAssetsの登録先が開くので、今作ったAppIcon.appiconsetで上書きしてやれば、いちいちXcodeにひとつずつドロップしなくても全部一度に登録される。
おしまい!

2018年2月5日月曜日

アプリに絵文字使っちゃダメ?

情報ソース:9TO5MaciPhone Maniaほか

📱🙅🏻‍♀️🙅🏽‍♂️🤮
9TO5Macが伝えるところによると、iOSアプリのアイコンや、アプリ説明のためのスクリーンショットに絵文字を使ったものが、AppStoreからリジェクトされたという。
アップルによれば、絵文字の使用はアップルの商標・著作権の侵害に当たるのだというが。
「AppStoreは、アプリ内で絵文字を使用していることがどうやら著作権のルールを破っているとして、@getBittrackerの最新バージョンのバイナリを拒否しました。
うん、それは本当です。 私たちはスクリーンショットでの絵文字について話していますが、もっと重要なのはアプリ内での生のテキストです。」
この開発者サム・エカート氏はスクリーンショットに絵文字を使った(当然画像に変換してだろう)ことを言っているが、それに対するコメントで、アプリ内のアイコンとして絵文字を使った例を尋ねている人がいる。
「それらをゲームのアセットとして使うのではなく、単にあなたのUIを「装飾する」ことはどうでしょうか?」

これに対してエカート氏は「まさにうちらそれやってて、禁止されてるらしいよ」と返信している。

ガイドラインを見てみる

以下、App Store審査ガイドラインより抜粋(改行等筆者)
5.2 知的財産
アプリケーションには自分で作成したコンテンツ、または使用許可を取得したコンテンツのみを使用してください。
許可なくコンテンツを使用した場合はアプリケーションを削除します。
もちろん、他のデベロッパが他者の作品を許可なく使用した場合はそのアプリケーションが削除されます。
ご自分の知的財産権がApp Storeの他のデベロッパに侵害されているおそれがある場合は、Webフォームから申し立てを行ってください。
国によって法律は異なりますが、少なくとも以下の各項に留意する必要があります。
5.2.1 〜 5.2.4 略
5.2.5 Apple製品:既存のApple製品、既存のインターフェイス(Finderなど)、既存のアプリケーション(App Store、iTunes Store、メッセージなど)、既存のApple広告などとの混同を招くような、類似したアプリケーションは開発しないでください。
他社製のキーボードやステッカーパックを含め、アプリケーションやExtensionにAppleの絵文字を含めることはできません。
iTunesミュージックのプレビューを娯楽的な目的(フォトコラージュのBGM、ゲームのサウンドトラックなど)で、またはその他の承認されていない目的で使用することは許可されません。
アプリケーションでアクティビティリングを表示する場合は、アクティビティコントロールに類似する方法で、ムーブ、エクササイズ、スタンドのデータを表示することはできません。
アクティビティリングの使用に関して詳しくは、「Human Interface Guidelines」を参照してください。
ステッカーパックというのは、iMessageで使われる、LINEでいうスタンプにあたるもののことのようだ。

ほんとに違法なのか?

たしかにスタンプのデザインに絵文字を使うのはどうかと思うが、アプリの説明の画像や、アプリ内のアイコンとして無加工の絵文字を使うことがいけないことだろうか?
Apple製のデバイス上でしか使われないアプリ、AppStoreでしか表示されない画像に対し、絵文字という少々特殊なものとはいえ、Appleが用意したフォントの一種を使うなというのは権利の暴走じゃないか?
それを言ったら、通常のフォントも同じグラフィックデザインの一種として、使用できないんじゃないか? ってことになる。さすがにそこまで極端なことは言い出さないだろうけど、用意された便利そうなものを「使っちゃダメ」って言われるのには抵抗あるよな。

「アプリの文字入力欄でユーザーが絵文字を入力可能になっているのは問題ない」とも報じられているが、当たり前だわな。いちいち入力された文字が絵文字かどうかなんて判定してられんわ。そもそもユーザーが絵文字を使えないなら何のための絵文字かわからん。

いや、ちょうど絵文字をボタンのtitleTextとして表示して選ばせるアプリ作っててさ。なんでだよー、バカヤローという気分なのだな。
もし絵文字がダメなら、一般フォントのエジプト聖刻文字(ヒエログリフ)とかはどうなんだ?
𓀀𓀁𓀂𓀃𓀄𓀅𓀆𓀇𓀈𓀉𓀊𓀋𓀌𓀍𓀎𓀏𓀐𓀑𓀒𓀓𓀔𓀕𓀖𓀗𓀘𓀙𓀚𓀛𓀜𓀝𓀞𓀟𓀠𓀡𓀢𓀣𓀤𓀥𓀦𓀧𓀨𓀩𓀪𓀫𓀬𓀭𓀮𓀯𓀱𓀲𓀳𓀴𓀵𓀶𓀷𓀸𓀹𓀺𓀻𓀼𓀽𓀾𓀿𓁀𓁁𓁂𓁃𓁄𓁅𓁆𓁇𓁈𓁉𓁊𓁋𓁌𓁍𓁎𓁏𓁐𓁑𓁒𓁓𓁔𓁕𓁖𓁗𓁘𓁙𓁚𓁛𓁜𓁝𓁞𓁟𓁡𓁢𓁣𓁤𓁥𓁦𓁧𓁨𓁩𓁪𓁫𓁬𓁭𓁮𓁯𓁰𓁱𓁲𓁳𓁴𓁵𓁶𓁷𓁸𓁹𓁺𓁻𓁼𓁽𓁾𓁿𓂀𓂁𓂂𓂃𓂄𓂅𓂆𓂇𓂈𓂉𓂊𓂋𓂌𓂍𓂎𓂏𓂐𓂑𓂒𓂓𓂔𓂕𓂖𓂗𓂘𓂙𓂚𓂛𓂜𓂝𓂞𓂟𓂠𓂡𓂢𓂣𓂤𓂥𓂦𓂧𓂨𓂩𓂪𓂫𓂬𓂭𓂮𓂯𓂰𓂱𓂲𓂳𓂵𓂶𓂷𓂸𓂹𓂺𓂻𓂼𓂽𓂾𓂿𓃀𓃁𓃂𓃃𓃄𓃆𓃇𓃈𓃉𓃊𓃋𓃌𓃍𓃎𓃏𓃐𓃑𓃒𓃓𓃔𓃕𓃖𓃗𓃘𓃙𓃚𓃛𓃜𓃝𓃞𓃟𓃠𓃡𓃢𓃣𓃤𓃥𓃦𓃧𓃨𓃩𓃪𓃫𓃬𓃭𓃮𓃯𓃰𓃱𓃲𓃳𓃴𓃵𓃶𓃷𓃸𓃹𓃺𓃻𓃼𓃽𓃾𓃿𓄀𓄁𓄂𓄃𓄄𓄅𓄆𓄇𓄈𓄉𓄊𓄋𓄌𓄍𓄎𓄏𓄐𓄑𓄒𓄓𓄔𓄕𓄖𓄗𓄘𓄙𓄚𓄛𓄜𓄝𓄞𓄟𓄠𓄡𓄢𓄣𓄤𓄥𓄦𓄧𓄨𓄩𓄪𓄫𓄬𓄭𓄮𓄯𓄰𓄱𓄲𓄳𓄴𓄵𓄶𓄷𓄸𓄹𓄺𓄻𓄼𓄽𓄿𓅀𓅁𓅂𓅃𓅄𓅅𓅆𓅇𓅈𓅉𓅊𓅋𓅌𓅍𓅎𓅏𓅐𓅑𓅒𓅓𓅔𓅕𓅖𓅗𓅘𓅙𓅚𓅛𓅜𓅝𓅞𓅟𓅠𓅡𓅢𓅣𓅤𓅥𓅦𓅧𓅨𓅩𓅪𓅫𓅬𓅭𓅮𓅯𓅰𓅱𓅲𓅳𓅴𓅵𓅶𓅷𓅸𓅹𓅺𓅻𓅼𓅽𓅾𓅿𓆀𓆁𓆂𓆃𓆄𓆅𓆆𓆇𓆈𓆉𓆊𓆋𓆌𓆍𓆎𓆏𓆐𓆑𓆒𓆓𓆔𓆕𓆖𓆗𓆘𓆙𓆚𓆛𓆜𓆝𓆞𓆟𓆠𓆡𓆢𓆣𓆤𓆥𓆦𓆧𓆨𓆩𓆪𓆫𓆬𓆭𓆮𓆯𓆰𓆱𓆲𓆳𓆴𓆵𓆶𓆷𓆸𓆹𓆺𓆻𓆼𓆽𓆾𓆿𓇀𓇁𓇂𓇃𓇄𓇅𓇆𓇇𓇈𓇉𓇊𓇋𓇌𓇍𓇎𓇏𓇐𓇑𓇒𓇓𓇔𓇕𓇖𓇗𓇘𓇙𓇚𓇛𓇜𓇝𓇞𓇟𓇠𓇡𓇢𓇣𓇤𓇥𓇦𓇧𓇨𓇩𓇪𓇫𓇬𓇭𓇮𓇯𓇰𓇱𓇲𓇳𓇴𓇵𓇶𓇷𓇸𓇹𓇺𓇻𓇼𓇽𓇾𓇿𓈀𓈁𓈂𓈃𓈄𓈅𓈆𓈇𓈈𓈉𓈊𓈋𓈌𓈍𓈎𓈏𓈐𓈑𓈒𓈓𓈔𓈕𓈖𓈗𓈘𓈙𓈚𓈛𓈜𓈝𓈞𓈟𓈠𓈡𓈢𓈣𓈤𓈥𓈦𓈧𓈨𓈩𓈪𓈫𓈬𓈭𓈮𓈯𓈰𓈱𓈲𓈳𓈴𓈵𓈶𓈷𓈸𓈹𓈺𓈻𓈼𓈽𓈾𓈿𓉀𓉁𓉂𓉃𓉄𓉅𓉆𓉇𓉈𓉉𓉊𓉋𓉌𓉍𓉎𓉏𓉐𓉑𓉒𓉓𓉔𓉕𓉖𓉗𓉘𓉙𓉚𓉛𓉜𓉝𓉞𓉟𓉠𓉡𓉢𓉣𓉤𓉥𓉦𓉧𓉨𓉩𓉪𓉫𓉬𓉭𓉮𓉯𓉰𓉱𓉲𓉳𓉴𓉵𓉶𓉷𓉸𓉹𓉺𓉻𓉼𓉽𓉾𓉿𓊀𓊁𓊂𓊃𓊄𓊅𓊆𓊇𓊈𓊉𓊊𓊋𓊌𓊍𓊎𓊏𓊐𓊑𓊒𓊓𓊔𓊕𓊖𓊗𓊘𓊙𓊚𓊛𓊜𓊝𓊞𓊟𓊠𓊡𓊢𓊣𓊤𓊥𓊦𓊧𓊨𓊩𓊪𓊫𓊬𓊭𓊮𓊰𓊱𓊲𓊳𓊴𓊵𓊶𓊷𓊸𓊹𓊺𓊻𓊼𓊽𓊾𓊿𓋀𓋁𓋂𓋃𓋄𓋅𓋆𓋇𓋈𓋉𓋊𓋋𓋌𓋍𓋎𓋏𓋐𓋑𓋒𓋓𓋔𓋕𓋖𓋗𓋘𓋙𓋚𓋛𓋜𓋝𓋞𓋟𓋠𓋡𓋢𓋣𓋤𓋥𓋦𓋧𓋨𓋩𓋪𓋫𓋬𓋭𓋮𓋯𓋰𓋱𓋲𓋳𓋴𓋵𓋶𓋷𓋸𓋹𓋺𓋻𓋼𓋽𓋾𓋿𓌀𓌁𓌂𓌃𓌄𓌅𓌆𓌇𓌈𓌉𓌊𓌋𓌌𓌍𓌎𓌏𓌐𓌑𓌒𓌓𓌔𓌕𓌖𓌗𓌘𓌙𓌚𓌛𓌜𓌝𓌞𓌟𓌠𓌡𓌢𓌣𓌤𓌥𓌦𓌧𓌨𓌩𓌪𓌫𓌬𓌭𓌮𓌯𓌰𓌱𓌲𓌳𓌴𓌵𓌶𓌷𓌸𓌹𓌺𓌻𓌼𓌽𓌾𓌿𓍀𓍁𓍂𓍃𓍄𓍅𓍆𓍇𓍈𓍉𓍊𓍋𓍌𓍏𓍐𓍒𓍔𓍕𓍖𓍗𓍘𓍙𓍚𓍛𓍜𓍝𓍞𓍟𓍡𓍢𓍣𓍤𓍥𓍦𓍩𓍪𓍫𓍬𓍭𓍯𓍰𓍲𓍳𓍴𓍵𓍶𓍷𓍸𓍹𓍺𓍻𓍼𓍽𓍾𓍿𓎀𓎁𓎂𓎃𓎄𓎅𓎆𓎇𓎈𓎋𓎌𓎍𓎎𓎏𓎐𓎑𓎒𓎓𓎔𓎕𓎖𓎗𓎘𓎙𓎚𓎛𓎜𓎝𓎞𓎟𓎠𓎡𓎢𓎣𓎤𓎥𓎦𓎨𓎩𓎪𓎫𓎬𓎭𓎮𓎯𓎰𓎱𓎲𓎳𓎵𓎶𓎷𓎸𓎹𓎺𓎻𓎼𓎾𓎿𓏀𓏁𓏂𓏃𓏄𓏅𓏆𓏇𓏈𓏉𓏊𓏋𓏌𓏍𓏎𓏏𓏐𓏑𓏒𓏓𓏔𓏕𓏖𓏗𓏘𓏙𓏚𓏛𓏜𓏞𓏟𓏠𓏡𓏢𓏣𓏤𓏥𓏦𓏧𓏨𓏩𓏪𓏫𓏬𓏭𓏮𓏯𓏰𓏱𓏲𓏳𓏴𓏵𓏶𓏷𓏸𓏹𓏺𓏻𓏼𓏽𓏾𓏿𓐀𓐁𓐂𓐃𓐄𓐅𓐆𓐇𓐈𓐉𓐊𓐋𓐌𓐍𓐎𓐏𓐐𓐑𓐒𓐓𓐔𓐕𓐖𓐗𓐘𓐙𓐚𓐛𓐜𓐝𓐞𓐟𓐠𓐡𓐢𓐣𓐤𓐥𓐦𓐧𓐨𓐩𓐫𓐬𓐭𓐮
雀パイやドミノやトランプは?
🀀🀁🀂🀃🀅🀋🀙🀟🀢🀗🀴🁈🁵🁷🂡🂷🂼🂾🂮🂾🃟
iOS11だと、聖剣文字は見えるが、麻雀牌以下は□に化けちゃう。まあいい、聖剣文字使ってやれ。ヒヒヒヒ…

2017年9月25日月曜日

Xcode 9でArchive時に変なチェックが

Xcode9でアプリを審査提出すべくArchiveしていたら、これまでと手続きが少し変わり、ValidateおよびUploadの段階でこのような同じメッセージが出たので覚書。

App Store distribution options

Include bitcode for iOS content
Allows the App Store to build your app to take advantage of hardware, software or compiler changes.
iOSコンテンツのビットコードを含める
App Storeがあなたのアプリケーションを構築して、ハードウェア、ソフトウェア、またはコンパイラの変更を利用できるようにします。
Upload your app's symbols to receive symbolicated reports from Apple
Crash logs and other diagnostic information from your customers will be symbolicated and viewable within Xcode.
Appleのシンボル化されたレポートを受け取るために、あなたのアプリのシンボルをアップロードしてください。
お客様のクラッシュログやその他の診断情報は、Xcode内で象徴的に表示されます。
最初のチェックのビットコードとは、アプリをコンパイルする時に、最終的に近藤マシン語臣に変換する前段階で、中間コードのようなものに変換するんだそうな。それのことのようで、含めておくといいことあるなんて読んだ。
なんのこっちゃよくわからんけどね。
最初bitcoinって書いてあるのかと思って、驚いた(笑)

次のチェックはおそらくクラッシュ情報なんかをアップルに送信していいかどうかだろう。今までは勝手に送信されてたんじゃないかって思うけど、コンプライアンス上明示し、選択できるようにしたんじゃないかと。

両方ともチェックされたままでいいと思う。

Re-sign "App name"

"App name" needs to be re-signed for App Store distribution.
Select one of the following signing options to continue.
あなたのAppは、App Storeの配布のために再署名する必要があります。
続行するには、次の署名オプションのいずれかを選択します。
App Storeで配布するための署名を自動で管理するか手動でするかの選択。これも上の自動のままでいいだろう。

Distoribution completed with warnings

その後のいつもの手順でUploadは終わったみたいなんだけど、また変なメッセージが出た。
iTunes Storeのオペレーションに失敗したと。
1024x1024のPNGフォーマットのマーケティングアイコンが含まれてないからApp Reviewかベータ App Reviewに提出できないと。
プロジェクトのImages.xcassetsのアイコンのところに1024ptのアイコンを登録する欄が増えとる…orz
他にもiPhoneとiPadでそれぞれ1x〜3xの20ptのアイコンの欄が…。めんどくせえ。
ScreenShot同様に、アイコンもでっかいの一個アップロードして、小さいのはそれを縮小して対応するようにできないのかね? 21世紀なのに…グチグチ…。

アイコン追加してアップロードし直して無事審査提出できたわい。
そのかわりiOS11やiPhone Xへの対応なんかが超テキトーだから、リジェクトされるかもね?(笑)
そんなもんにいちいち対応してられるか! 毎度毎度仕様を変えやがって!

2016年8月22日月曜日

提出すべきスクリーンショットが減った

アプリを審査に提出する際、今までは

  • iPhone6 Plus(5.5インチ)
  • iPhone6(4.7インチ)
  • iPhone5(4インチ)
  • iPhone4(3.5インチ)

の5種類のサイズのスクリーンショットを提出しないといけなかったが、これからは最も大きなiPhone6 Plusサイズだけ提出すれば、自動的に他のサイズに変換してくれるようになった。
これは楽ちん!
どうしても個別のサイズを加えたい場合はそれもオプションで設定できる。
もっと早くこうしてくれりゃ良かったのに。

あとアイコンについても同じこと頼みたいね。

2016年6月14日火曜日

アプリリリース方法

前にもどっかにまとめたはずなんだけど見つかんないし、iTunesConnectやXcodeのデザインも変わってると思うので、あらためて簡単に。
細かいところがちょこちょこ変わるので、2016年12月現在の方法に更新しました。

新規App

iTunesConnectにログインし、新規App登録を開始する。
2016年12月現在
  • 名前
    • アプリ名です。
  • プライマリ言語
    • 他言語対応の場合、Englishにしといた方がいいらしい。
  • バンドルID
    • これはXcodeで設定したのを見て入れること。→ 登録ダイアログ中のリンクにあるDeveloper Portal(次項参照)で、事前登録が必要。登録後、プルダウンメニューに表示されるのでそれを選ぶ。
  • SKU
    • 他のアプリとかぶらないものならなんでもいいけど、俺は英文字+通し番号にしてる。

Developer Portalでの事前登録

  • App ID Description
    • アプリ名を英文字で入れる
  • App ID Prefix
    • チームIDが表示される
  • App ID Suffix
    • Bundle IDにXcodeで設定したBundle Identifier(ドメインを逆さにして入れたアレ)を入れる。間違っちゃダメ。間違うとこの設定はたぶんゴミとして残る。そうなったら無視するしかない。
上記Prefix、Suffix、アプリ名の順に「.」でつなげたものがApp IDになるらしい。

  • App Services
    • アプリで必要とするサービスがあればチェックする。
    • Apple Pay、HealthKit、iCloud、SiriKitとか、そういうやつね。この項目は後から再編集できる。

APP STORE情報

  • App情報
    • AppStore上のカテゴリなどを入れる
  • 価格および配信状況
    • AppStoreの価格などの設定
      • 価格をプルダウンメニューから選ぶ
      • 開始日、終了日は最初は変更できないっぽい
    • Volume Purchase Program
      • 教育機関とかがまとめ買いした場合に割り引くかどうか
    • Bitcode自動再コンパイル
      • よくわからんのでデフォルトのままでいいか

iOS APP

左側に「1.0 提出準備中」ってなってるのを開くと、スクリーンショットとかの登録ページに移る。
書いてある内容を読んで必要なものを記入、アップロードしていくこと。

  • バージョン情報
    • App プレビューとスクリーンショット
      • AppStoreで表示する説明画像をiPhoneおよびiPad用を登録する。最も大きい画面サイズのデバイス(iPhoneなら5.5インチのもの)を一種類登録すれば全部のサイズで有効になる。
    • 概要
      • AppStoreでのアプリ説明文
    • キーワード
      • AppStoreでの検索用
    • サポートURL
      • アプリをサポートするためのサイトやSNS
    • マーケティングURL(オプション)
      • なんのこっちゃ?
  • iMessage App
    • 必要な場合だけ
  • Apple Watch
    • 必要な場合だけ
  • ビルド
    • 一番最後にやる。Xcodeからアーカイブしたアプリをアップロードしてからここを設定する(次項参照)
  • App 一般情報
    • App アイコン
      • 1024×1024じゃないとダメ
    • バージョン
      • 1.0からね
    • 年齢制限指定
      • 暴力表現や性的表現があるかなどの項目に答えていく
    • Copyright
      • 著作権表示。テキトーに。
    • 通商代表連絡先情報(韓国App Storeのみなので普通はいらない)
      • 英語で入力。番地は逆さに(山田町1丁目2番地なら1-2 Yamadacho)
      • 電話番号は先頭に国番号を付け、市外局番の頭の0を取ったものにしないといけない。たとえば080-12345678だった場合、+81-80-12345678となる。
    • Routing App Coverage File(オプション)
      • アプリがサポートする地理的領域をファイルで指定だって? 使ったことない。
  • Game Center
    • 必要な場合だけ
  • App Reviewに関する情報
    • 連絡先情報
      • 名前と電話番号とメルアド
        • 電話番号は先頭に国番号を付け、市外局番の頭の0を取ったものにしないといけない。たとえば080-12345678だった場合、+81-80-12345678
    • デモアカウント
      • 審査の時に使う全部の機能が確認できるアカウント情報。デフォルトでチェックされてるから不要なら外す。
    • メモ
      • アプリ審査時に役立つ情報。なければ空欄で。
  • バージョンのリリース
    • 自動でリリースするか、手動でリリースするかなど。普通は自動で。
並行してXcodeからアップロード作業をする。

Xcodeでアーカイブとアップロード

  • メニューProduct/Scheme/Edit Scheme...(これいらないかも?)
    • Build ConfigurationをDebug → Releaseに
  • メニューProduct/Archive
    • 右のカラムのValidate...
    • provisioningを選択し、Validate。SuccessfulになったらDone
  • 右のカラムのUpload to App Store...
    • provisioningを再度選択し、Upload
    • これでiTunesConnectにアップロードされる。
    • アップロード後、手直しして再アップの場合、XcodeのGeneral/IdentityのBuildナンバーを変えないとダメ。
    • Upload SuccessfulになったらDone
数分するとアップロードがiTunesConnectに反映され、iTunesConnectのビルドに出るようになる。
最近は反映された際にメールで知らせてくれるようだが、なかなか出ない場合はiTunesConnectのページを再読み込みするといいようだ。

審査提出

iTunesConnectで必要な項目を全て書き込み、スクリーンショットなどもアップロードしたら、一番上の「審査に提出」。

最後に、
  • 中で暗号使ってないか?
  • 使ってる画像とかがちゃんと著作権クリアしてるか?
  • ターゲット広告使ってないか?(IDFAとか言うらしい)
    • GoogleのAdMobはターゲット広告なのでここをチェックした
などと聞いてくるのでそれぞれ答える。

最近は一両日中に結果を出してくれるなど、かなり早く審査してくれるようだ。

最後に一言…

Xcodeから審査提出できるようにせいや!
いちいちiTunesConnectと行ったり来たりは面倒なんじゃあ!!!
ああすっきりした。

すべてのiPhoneに対応させない

注意:結論から言うと、うまくいきませんでした。

解像度が多すぎる

アンドロイドスマホほどじゃないとは思うが、iPhoneは解像度とアスペクト比のバリエーションが多い。
執筆時現在、以下の画面サイズに対応させなければいけない。
  • RetinaのiPhone4sで640×960
  • 縦にサイズが伸びたiPhone5が640×1136
  • iPhone6では4.7インチで750×1334
  • 最新のiPhone6 Plusでは5.5インチで1242×2208

このうちiPhone4sだけは縦が短いので、うまく画面を作らないと、それ以外の画面で横がはみ出したり上下に黒い帯を表示させることになってしまう。

正直、いちいちこんないっぱい対応してられるか! と思う。
これにiPadの対応までするとなるとますますだ。(iPadはアスペクト比が一緒だからレイアウト変更などは一種類で済むが)
俺のせこいアプリなんかはiPhone4sの解像度でだけ作って、iPhone6s Plusだろうがスケーリングモードで拡大して表示してくれるとありがたい。
要はiPhoneのアプリをiPadで使う時みたいに、多少表示が粗く見えても2倍とかに拡大してくれればいいのだ。

そういう風に作れないだろうか?
さらに、それでアップルの審査をパスできるだろうか?(最低iPhone5のサイズに対応せんと怒られるのではないか?)

対応させないためには

みなさん頑張って各解像度に対応させてるのか、検索してもスケーリングモードで表示させる方法があまり出てこない。
どうやらアプリ起動時に表示されるLaunch Screen(スプラッシュスクリーンともいうのだな)をどの解像度(機種)の分をインストールするか/しないかで対応解像度を選べるらしい…ということだけ風の便りで聞いていた。


そこでLaunch ScreenにiPhone4s(3.5インチ)用のLaunchScreenだけ入れiTunesConnectにアップロードし、スクリーンショットも3.5インチ画面のみをアップロードしてみた。
しかし「審査提出」ボタンを押すと「アプリが他のサイズ用に対応してるから、それ用のスクリーンショットもアップロードしろ」と出てしまった。

チェックボックス全てOFFにしてみる

最低限のLaunch Image
XcodeのLaunchImageの画面でスクリーンショットの入ってない枠が残ってるせいかと思い、LaunchImageのインスペクタでチェックボックスを全てOFFにしてみたが、やっぱりiTunesConnectで同じエラーになる。

もしかしたらちゃんとしたやり方あるんだろうとは思うけど、近い将来サポートされなくなる3.5インチにこだわって作っててもしょうがないのであきらめることにした。
あ〜、全部の解像度対応してやりますよ! このヤロー!(TДT)(iPadを除く)

やっぱりサポートされなくなった

2016/6/14のアップルのイベントでiOS10について発表があり、iPhone4sが非対応になったようだ。
これで、若干のアスペクト比の違いはあれど全て縦長になったので(iPadを除く)、デザインはしやすくなったかな。

iPadのスケーリング表示はどうなる?

iPadってiPhoneしか対応してないアプリを使う場合、現状ではiPhone4sの解像度をスケーリング表示させてるけど、これからはどうなるんだろうな。
iPhone5の解像度をスケーリング表示するようになるの?

iPad対応版を作るんであれば、どのみち今までどおり縦長なiPhone、正方形に近いiPadの両方のデザインを作らないといけませんな。こっちはもう早くからあきらめてる。

2014年12月31日水曜日

AdMob対応とAppStoreへの提出

エスパー発見!(Look for espser!)をiPhone、AutoLayout、SizeClassesに対応させたついでに、iAdが表示されない時に表示するGoogleの広告AdMobにも対応させた。

Google AdSenseのアカウントをすでに持っていたので、登録とインストールは簡単だった。(Googleのサイトに載ってる手順通りにframeworkをプロジェクトに追加して、#importしてコードをちょちょいと追加するだけ)

iAdが表示できる時はiAd優先。表示できない時はAdMobを表示するという非常に簡単なコード。
AdMobは以前は広告サイズを指定してやる必要があったようだが、今は
adMobBanner = [[GADBannerView alloc]initWithAdSize:kGADAdSizeSmartBannerPortrait];
とスマートバナーを指定してやれば、画面の横幅に合わせて最大の広告を表示してくれるようになった。便利。
レイアウトの都合でもっと小さいバナーを表示したい場合とかは、今までのやり方で小さいバナーを選べばいいのだろう。

さて、iPhoneに対応したところ、Images.xcassetsにiPhone用アイコン以外にもCarPlay用120ptのアイコンを追加する枠が出てきた。
まじめに120ptのアイコンを作って追加したんだけど、いざアプリを審査に出すべくArchiveしてたら、
operation failed invalid image pathとエラーメッセージが出た。どうもそのアイコンへのpathがおかしいとか、ないとか、そんなメッセージ。
ネットで調べてもわかんなかったので、CarPlayなんて知らんわ! と思って、アイコン削除したらエラーも消えて、すんなり審査に出せてしまった(笑)
CarPlayって横画面だけだと思うし、エスパー発見!は縦画面だけなので、そもそも要らなかったのかな? よくわかんない。


審査に出す段階で、AdverTising Identifierの確認がある。ターゲティング広告についての確認だ。iAdの時は「いいえ」にしてたけど、AdMobを追加したのでどうなるかわからない。
ネットで調べたら、「はい」にしておいた方が良さそうだったので、そうした。
「下記目的でAdverTising Identifierを使用します」の選択もよくわかんないので、一番上の「App内で広告を出す」だけをチェック。
これでめでたくレビュー待ち状態になってくれたので、あとは2週間ばかりまた待ってみる。

Frameworkインポート時の注意

AdMobライブラリをインポートする際にコピーせずに参照をしていたのだが、その後参照元フォルダの位置を変えたところ、(当然だが)参照できないとエラーに。
あらためてコピーでインポートしたが、
ld: warning: directory not found for option '-L/〜〜〜'
などとWarningが出る始末。
調べたところ、Library Search Pathsという項目に古いパスが残ってしまっているためだった。これを消してやって再ビルドしたところWarningが消えてくれた。(念のためプロジェクトのクリーンも行ったが)
インポートし直したらパスも更新されればいいのに。(ーεー;)