AppStore にバージョンアップしたアプリを公開する手順

自分で iOS アプリをリリースしてたので,手順・気づいた点をメモしておきます.

1. アプリをアップロードする.

Xcode – Product – Archive メニューからアプリをビルドし,
Xcode – Window – Organizer からアプリをアップロードする.
(アップロード前には,Validate して申請上問題がないか?確認する.)

アプリを Organizer からアップロードする

アプリを Organizer からアップロードする

以下に詳細な手順が説明されている.
【iOS, 申請】iOSアプリの申請プロセスについてPart3 〜リリース用アーカイブファイル作成編〜

アプリのアップロード後は,iTunes Connect に反映されるまで,15分程度かかる.(2016/3 現在)

2.アプリの最新情報を作成する.

App Storeに表示するバージョン情報の文言を用意する.
(多言語対応している場合は,それぞれの言語で用意する.)

アプリのバージョン情報を記入する.

アプリのバージョン情報を記入する.

スクリーンショットの準備について

スクリーンショットを変更する場合は,それぞれの言語用にスクリーンショットも用意する.
スクリーンショットを用意するのは,3.5 〜 5.5 インチの画像(4 x 5パターン)が必要.また,多言語対応している場合,それぞれの言語用に作成しなければならない.
作成枚数がかなり多いので,私は以下のサービスを利用してスクリーンショットを用意している.
(無料ユーザでも作業できるので,一度利用してみるのがいいと思います.)

LaunchKit – Screenshot Builder

アプリのアップロード後は,iTunes Connect に反映されたら,アプリを設定する.

アプリのアップロード後は,iTunes Connect に反映されたら,アプリを設定する.

3. アプリを審査に提出する.

iTunes Connect の“審査に提出する”ボタン押下後に以下の設問に回答する.
・輸出コンプライアンス
・広告ID(Advertising Identifier又はIDFA)

AdMob を利用している場合,以下のように回答し,問題なく公開されました.(2016/3 現在)

AdMob を使用している場合

AdMob を使用している場合

▼ その他,気づいた点など

・公開までのおおよその日数を知るには?

以下のサービスで,公開までのおおよその日数を知ることができます.
Average App Store Review Times

・多言語対応したアプリを公開する場合,プライマリ言語を英語にする.
サポート言語以外の国ではプライマリ言語でアプリ情報が表示されるため,プライマリ言語を英語にしておく方がよいです.

・AppStore で表示されるアプリ名を変更するには,新しいバージョンのアプリをリリースする必要がある.
多言語対応している場合,それぞれの言語でアプリ名を設定することができます.
しかしながら,すでに公開しているアプリに関しては,新しいバージョンのアプリをリリースする必要があるため,注意が必要です.

Swift で Objective-C のカテゴリを実装する方法

既存の Objective-C のコードを Swift 化していて Objective-C のカテゴリって Swift でどうするの?と調べてみると以下のような見解が紹介されていました.

Swiftで継承とカテゴリってどうやってやるの!?

Swift で UIView を角丸にするカテゴリ メソッドを追加するには,以下のように記述すれば実装できるようです.

1
2
3
4
5
6
7
extension UIView {
    // 角丸にする.
    func cornerRadiusClippedToBounds() {
        self.layer.cornerRadius = 5
        self.clipsToBounds = true
    }
}

では,上記のコードのファイル名はどうすべきなのか?というのは… 結局,Objective-C と同じ流儀が紹介されていました.

Swift で Extension につけるファイル名のベストプラクティス

iOS9 で Bluetooth 機器のバッテリー残量が確認できる件

先日から Bluetooth ヘッドホンを使用しているのだが,ステータスバーを見ていて,Bluetooth アイコンが電池残量のようなものを表示していることに気がついた.

ステータスバーの Bluetooth アイコンにバッテリー残量のようなものが...表示されている

ステータスバーの Bluetooth アイコンにバッテリー残量のようなものが…表示されている

調べてみると iOS9 では,Bluetooth デバイスの残量を知ることができるとのこと.
通知センターには以下のようにバッテリーという項目があり,Bluetooth デバイスの電池残量を確認することができる.

Bluetooth ヘッドホンは充電しなくてはならないけど,毎日充電するのはめんどくさいなーと数日過ごすと電池切れ状態になってしまうので,これは結構便利ですね.

通知センターのバッテリーには,Bluetoothデバイスも表示されている

通知センターのバッテリーには,Bluetoothデバイスも表示されている

アイコンをフォントとして扱う方法

https://github.com/PrideChung/FontAwesomeKit

FontAwesomeKit を利用すれば,こんな感じのボタン タイトルを簡単に実装できる.

アイコンを使ったボタン タイトル

アイコンを使ったボタン タイトル

http://fontawesome.io/icons/ で,アイコンが紹介されている.
結構便利そうなアイコンがあるので,チェックするのもいいと思う.
よく使いそうな”設定”,”メール”,”矢印”とかいろいろあります.

AdMob を導入する方法

iOS アプリに iAd を適用しようと考えていたが,2016/6月末でサービスが終了になるとのこと.
iTunes Connect では,以下の説明がされている.

iAd App Network will be Discontinued
The iAd App Network will be discontinued as of June 30, 2016. 
Although we are no longer accepting new apps into the network, 
advertising campaigns may continue to run and you can still earn advertising 
revenue until June 30. 
If you’d like to continue promoting your apps through iAd until then, 
you can create a campaign using iAd Workbench. 
We will continue to keep you updated, but if you have any questions, contact us.

しょうがないので,AdMob を適用することとした.
アプリに AdMob を適用するのはとても簡単だった.

以下の URL を参考にすれば,20分程度で,実装することができる.
登録などの手間を考えると,最初から AdMob を適用をしておけば良かったなと思う.

【iOS8対応】iOSアプリケーションにAdMobを導入する
http://qiita.com/kenchan0130/items/a7356c68830657102b69

– AdMob の申し込み
– アプリケーションの登録を行い,広告ユニットIDを取得する方法
– Google Mobile Ads SDKの導入方法

AdMob iOS ガイド
https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start?hl=ja

– Xcode のプロジェクトを作成し,SDK を Xcode プロジェクトに追加する方法
などが説明されている.

ビルド時に Bitcode のエラーが出力された場合の対処

先日,AdMob をアプリに適用した際に以下のメッセージが出力された.

1
2
3
4
5
6
ld: '/Users/.../Google-Mobile-Ads-SDK/GoogleMobileAdsSdkiOS-6.12.2/libGoogleAdMobAds.a
 
(GADGestureUtil.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), 
obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
 
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Targets の Build Settings – Build Options – Enable Bitcode を “NO” に変更すれば,ビルドエラーは出力されなくなった.

1ヶ月を要したけど,EIN が取得できました

いやぁ〜長かった.😅

途中でステータスを確認できないため,かなりメンタル的に辛かったです...って,まぁ待ってただけなので,特に作業的には何もないんですが,人によっては,待ちきれず,再提出したり,かなり苦労されているので,経験したことをメモしておきます.

参考になれば,幸いです.

AppStore でアプリを販売する場合,アメリカで源泉税をとられてしまします.
アメリカで税を免除してもらうには,EIN を取得し,W-8BEN を提出する必要があるとのこと.
EIN を取得するには,SS-4 という書類を IRS に FAX もしくは,郵送で送付しなくてはなりません.

今回,EIN を取得したので,取得に要した期間など記しておきます.

【EIN(米国納税者番号)】
・EIN は,米国内国歳入庁(IRS)が発行している納税者番号のこと.
・SS-4 は,以下の URL からフォーマットが,.pdf で入手できます.(2016/3 現在)
https://www.irs.gov/pub/irs-pdf/fss4.pdf
【W-8BEN】
W-8BEN とは,アメリカ国内に居住していない人が,米国源泉税を免除してもらう為の書類.
これをアップル社に提出しないままでアプリ販売を行った場合,米国と日本の両方で課税される.

EIN 取得の手順

取得から Apple 社への登録は,以下の手順で行います.

1. SS-4 を取得し,記入する.
2. SS-4 を IRS へ FAX する.
3. IRS から EIN が記載された書類が郵送されてくる.
4. iTunes connect で,EIN を記入し,税に関する手続きを行う.

1. SS-4 を取得し,記入する

まず,SS-4 の .pdf を入手し,記入します.

記入自体は,.pdf なので mac 上で記入できます.
自筆のサインが必要な項目がありますが,まず紙に自筆でサインし,iMac のカメラで読み込み,.pdf に貼り付けると楽です.
また,不備があると再提出が求められるらしいです.
申請には時間がかかるので,再提出はかなり痛いです.
ネット上には,いろいろ情報がありますので,それらを参考に記入します.

(参考)EIN取得のための、フォームSS-4の記入例

2. SS-4 を IRS へ FAX する

IRS への提出方法は,FAX もしくは,郵送が可能ですが,FAX で提出した場合,IRS で EIN を記入した書類を送ってもらうための FAX 番号を記入します.

私の場合,個人で使用できる FAX 番号がなかったため,eFAX というサービスを利用しましたが,あまりおすすめできないかなと思います.
もともと,現時点では FAX 自体が信用性が低いこと.送信した FAX イメージを確認するとかなりノイズがあったり,あと,私の場合,返信用 FAX 番号で書類を受け取れなかったのが,理由です.
郵送されてきた書類で初めて発行された EIN を知ったというわけです.

通常は,まず IRS から FAX で返信,その後,書類が郵送されるらしいです.

3. IRS から EIN が記載された書類が郵送されてくる

私の場合,2016/1/30 に FAXして,2016/03 頭に郵送された書類を受け取りましたので,約1ヶ月ということになります.
IRS に直接電話確認できない場合は,とりあえず,1ヶ月はあきらめず待ってみるっていうのもいいかもしれません.
かなりモヤモヤしますが....😅

4. iTunes connect で,EIN を記入し,税に関する手続きを行う

あとは,iTunes connect で,取得した EIN を入力し,税に関する手続きを行えば,アップル社と IRS 間で入力された EIN の妥当性を判断し,処理してくれるようです.

ネット情報によると,以前は書類に署名し,郵送とかやってたみたいです.

iTunes connect で手続きを行う際には,以下のようなメッセージが表示されます.

Once you submit this form, you will not be able to make changes via iTunes Connect. Please make sure this information is correct before you click Submit.
このフォームを送信したら、iTunesの接続を経由して変更を加えることはできません。"Submit"をクリックする前にこの情報が正しいことを確認してください。

Your Tax ID has been submitted for verification. The average verification time is one day but can take up to a few days in the case of IRS downtimes.
納税者番号を確認のために提出されました。平均検証時間は1日ですが、IRSのダウンタイムの場合には数日かかることがあります。

その他,噂など…

ネットの情報,噂では,みなさん EIN 取得に苦労されているようですが,FAX 送信がエラーとなって提出できないというのが結構あるみたいです.

コンビニの FAX 機から,なんど送信してもエラーとなるといった問題があったみたいです.
そのため,深夜に FAX 送信を試みたり,そもそも送信先の FAX 番号が引っ越しによって変更されている.とか...いろいろ情報がありますが,私の場合,以下の FAX 番号に一回で送信することができました.

私が FAX したのは,以下のフィラデルフィアの方です.

【SS4 送付先 / FAX】
https://www.irs.gov/instructions/iss4/ch01.html

Attn: EIN Operation 
Cincinnati, OH 45999  
Fax-TIN: 859-669-5760

★ Attn: EIN Operation 
Philadelphia, PA 19255-0525 
Fax-TIN: 267-941-1040

では!(^^)