document ACSからiphoneにPUSHしようと思ったが、Apple Push Notification Service (APNs) を使うためには、

一般的なIdentifiers(iOS App IDs)に、Push Notificationsを有効にした、状態で、iOS Provisioning Profiles を作らないといけない。

新しいiOS Provisioning Profilesを作るのが大変だった。

手順が長いが大体このサイトに書いてある。( 4)Push Certificatesでこのリンクを読めとあるが、ここのappleのdeveloperサイトの設定が大変だった)

Appcelerator Cloud Push Notification in iPhone | Appcelerator Titanium Tutorial <http://www.titaniumtutorial.com/2012/07/appcelerator-cloud-push-notification-in.html>

0.前提

titaniumでプロジェクトを作り、iOSに実機転送するところまで完了している。

それまでの手順はこちら titanium ios 実機転送 - weiki (作業ログやそのまとめ) <http://www.goto.info.waseda.ac.jp/~wei/weiki/index.php?titanium%20ios%20%BC%C2%B5%A1%C5%BE%C1%F7>

1.PUSH機能を追加したコード

上で取り上げたサイトのgithubを見れば作れる(ただし、エミュレーターではPUSHを試すことができないので、実機でデバッグするしかない)

railskarthi/acs_ios_push <https://github.com/railskarthi/acs_ios_push>

ここが実際のコード

acs_ios_push/Resources/app.js at master · railskarthi/acs_ios_push <https://github.com/railskarthi/acs_ios_push/blob/master/Resources/app.js>

日本語ならこのかたのサイト

[Titanium]ACSを使ったPush Notificationの実装(iOS & Android) | UCHIDAK.NET <http://uchidak.net/titanium-push-notification-930/>

2.iOS App IDの変更

普通にIDを作るとPUSH機能がenableになってなかった。

そこで、作ったIDをeditする必要がある。

このサイト <http://docs.appcelerator.com/cloud/latest/#!/guide/ios>

の「Create and Upload a Push Notification Certificate 」の項目の「Register an App ID」に手順が書いてあるが、

既に作成したIDを選択して、editボタンを押してPush Notificationsのチェックボックスをチェックすればいい
チェックすると「Development SSL Certificate」のアップロードを求められる。(今回は開発だからDevelopmentのほうを選んだ。)

3.Development SSL Certificate用のCertificate Signing Request (CSR) を作る。

2の手順で「Development SSL Certificate」を選んで進んでいくと、CSRをアップロードするページに移る

	With the creation of your CSR, Keychain Access simultaneously generated a public and private key pair. 
	Your private key is stored on your Mac in the login Keychain by default and can be viewed in the Keychain Access application under the "Keys" category. 
	Your requested certificate will be the public half of your key pair.
	Upload CSR file.
	Select .certSigningRequest file saved on your Mac.

次に.certSigningRequest?の拡張子を作らないといけない

こちらのサイト <http://hirooka.pro/?p=2395>

「Certificate Signing Request (CSR) の作成」の項目の方法で生成した。

	OS X の Application &#8211; Utilities の Keychain Access を起動します.
	Keychain Access &#8211; Certificate Assistant &#8211; Request a Certificate from a Certificate Authority… を選択します.
	Certificate Information ウインドウが開きます.
	User Email Address は iOS Developer Program に登録しているアドレス
	Common Name は適当な名前
	CA Email Address はブランク
	Request is は Save to disk を選択します.
	Continue ボタンを押します.
	デフォルトでは Desktop に CertificateSigningRequest.certSigningRequest という名前のファイルが生成されます.
	Save ボタンを押してファイルを生成,保存します.

これで再生された、CertificateSigningRequest?.certSigningRequest?をアップロードする。

4.(やらなくてもいい)既存のCertificateとProvisioning Profilesを削除

混乱するので、既存のCertificateとProvisioning Profilesを削除した。

XcodeのProvisioning Profilesも削除する

5. Certificateを作る

APNS用のCertificateを作る

手順はこのサイト http://docs.appcelerator.com/cloud/latest/#!/guide/ios

の「Generate an Apple Push Notification Certificate」の項目

   1.Log in to the Apple Developer Member Center as the Team Agent or Admin.
   2.Click the link under Certificates, Identifiers & Profiles.
   3.Click Certificates, then click the plus sign (+) button near the top-right corner.
   4.For testing, select Apple Push Notification service SSL (Sandbox) and for production, select Apple Push Notification service SSL (Production), then click Continue.
   5.Select the App ID that you created previously from the drop-down list, then click Continue.
   6.Follow the directions to create a Certificate Signing Request (CSR). Click Continue.
   7.Upload your CSR and click Generate.
   8.You will be returned to the Certificates page with the status listed as Pending. Wait a moment then refresh the page in your browser.
   9.Even though you are logged in as the Team Agent or Admin, you may need to approve your certificate. Click Approve.
   10.Download the certificate (.cer) file to your computer.
   11.Double-click the file to install it into your keychain.

6. Provisioning Profileを作る

手順はこのサイト http://docs.appcelerator.com/cloud/latest/#!/guide/ios

の「Create a Provisioning Profile」の項目

   1.Log in to the Apple Developer Member Center as the Team Agent or Admin.
   2.Click the link under Certificates, Identifiers & Profiles.
   3.Click Provision Profiles, then click the plus sign (+) button near the top-right corner.
   4.For testing, select iOS App Development, and for production, select either App Store to distribute to the App Store, Ad Hoc to distribute to a limited number of devices or In House for in house distribution to your company's employees, then click Continue.
   5.Select the App ID you created previously from the drop-down list, then click Continue.
   6.Select a certificate, then click Continue.
   7.For development and ad hoc distributions, select the devices you want to be able to run the app on, then click Continue.
   8.Enter a name for your provisioning profile. You should use a word like "dev", "distribution" or "ad hoc" in the name so that it is clear later what this profile is for. Click Generate.
   9.Click Download to save your provisioning profile file (.mobileprovision) to your computer, then click Done.
   10.Double-click the provisioning profile file to install it to Xcode.

7.ACSで使うPKCS .p12 fileを作る

ACSのappのsettingの所にある、iOSのPUSH用のファイルを生成する。

http://docs.appcelerator.com/cloud/latest/#!/guide/ios

の「Export the Certificate」と「Configure the ACS Web Console」通りに

   1.Open your Keychain. Select Applications > Utitlies > Keychain Access.
   2.Under Categories on the left side, click My Certificates.
   3.Right-click the certificate you installed previously and select Export.
   4.In the File Format drop-down, select Personal Information Exchange (.p12).
   5.Click Save.
   6.You are prompted to enter a password for the file. Enter a password, then click Save.

後は生成された.p12ファイルをACSでアップロードする。

8.Titanium Studioの設定変更

ここまでで、Xcodeにも最新のProvisioning Profileが入っている。

PUSH機能付きのプロジェクトを選んで右クリックを押して

install to iOS Device

を選ぶと、iOSデバイスのsetting画面が出ている。

そのウィンドーの

Manage Settings

を選んで、Provisioning Profileの欄で、

Browse

を選んで、Provisioning Profileのファイルを選択する。

それで書き出されたアプリにはPUSH機能がついてて、

ACS Web ConsoleからデータをPUSHすることができる。

参考リンク

push通知について | Don't Fall - Titanium Mobileユーザー会サポートBBS <http://support.titanium-mobile.jp/questions/2187>


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-17 (木) 09:45:58 (2017d)