http://netaone.com/wp/socialmedia-publish-tool/
ここに詳しく書いとる
2012年11月22日木曜日
PassBook生成PHPライブラリー PHP-PKPassの使い方 〜実装編〜
1.今回は前回の準備編で用意した諸々のファイルと情報をプログラムに組み込んで行きたいと思います。
前回、サーバーにアップロードしたファイルのexample.phpをベースに説明して行きたいと思います。
目標としては、
・作ったクーポンが表示される
・作ったクーポンがPassbookに登録される
以上2点とします。詳しいカスタマイズについては特に説明しません。
2.準備編で作った、
・.p12ファイル
・.pemファイル
の2点をサーバーにアップロードします。
場所はどこでもいいですが、できればドキュメントルートの一つ上の階層等、ブラウザからアクセスできない場所がいいかもしれません。
3.example.php修正必要箇所
[Line 6:]・・・.p12ファイルへのパス
[Line 7:]・・・.p12の展開に必要なパスワード
[Line 8:]・・・WWDR intermediate certificateの.pemファイルへのパス
[Line11:]・・・新たに作ったPass Type ID
[Line15:]・・・teamIdentifier
以上です。
備考:
現象として、「クーポンは表示されるがPassbookに入らない!」という事があります。
原因としては、.p12とPass Type IDがマッチしていない場合が多いようです。
原因を調べる方法としては、
1.PKPass.phpの222行目の「$this->clean();」をコメントアウトする。
そうすると、tmpフォルダ内にクーポンのファイル[pass.pkpass]が残ります。
2.pass.pkpassをローカルにダウンロードしておき、iOS Simulator(iOS6以降)とコンソールを起動。
3.立ち上がったiOS Simulatorにダウンロードしたpass.pkpassをドラッグ&ドロップ。
4.そうすると、コンソールに、
yy/mm/dd hh:ii:ss passd Invalid data error reading card pass.xxxxxxxx.jp.xxxxxx/xxxxxx-xxx-xxx. The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.
といったメッセージが表示される事があります。
このメッセージの意味としては、「passTypeIdentifierまたはteamIdentifierが証明書(.p12)とマッチしてないかも?」といった意味合いかと思います。
そういった場合、準備編で説明した.p12を作り直したりしてみると改善する場合があります。
PassBook生成PHPライブラリー PHP-PKPassの使い方 〜準備編〜
1.ファイル本体のダウンロードとアップロード
https://github.com/tschoffelen/PHP-PKPass
このサイトにアクセスし、[ZIP]ボタンをクリックしダウンロード。
ダウンロードしたzipファイルを展開すると以下の内容が入っています。
example.php
full_sample/
┣icon.png
┗index.php
images/
┣icon.png
┣icon@2x.png
┗logo.png
PKPass.php
readme.md
starbucks_sample/
┣background.png
┣icon.png
┣icon@2x.png
┣index.php
┣logo_web.png
┗logo.png
これらのファイルをサーバーにアップロードします。
※アップロードしたフォルダにtmpフォルダを作成しパーミッションを777にしておいてください。
2.下準備 〜その1〜
このクラスを使うにはいくつかファイルといくつかの情報を用意する必要があります。
1.Pass Type IDsの用意
https://developer.apple.com/ios/manage/passtypeids/index.action
にアクセスし、新たにPass Type IDを作成します。
2.DescriptionとIdentifierを入力します。
Identifierの形式はpass.domainname.passnameとします。
Descriptionはただの説明なので自分が分かりやすければなんでもOK。
3.Submitすると、Pass Type IDsの一覧に戻りますので、2で追加したものがあるか確認して下さい。
次に、新たに登録したPass Type IDの生成作業を行いますので右側のConfigureリンクをクリックします。
画面が変わったらConfigureボタンをクリックします。
4.[Generate a Certificate Signing Request]という画面が表示されます。
ここでPass Type IDに署名する証明書を生成します。
[Continue]ボタンをクリックすると、「証明書をアップしてくれ!」といわれるので、
http://blog.img-src.jp/2012/03/iphone.html
の1)でFinderに保存した拡張子が[certSigningRequest]のファイルをアップロードします。
5.画面が代わり、「Your Pass Certificate has been generated.」と表示されれば完了です。
[Continue]ボタンをクリックし、画面上部の[Download]をクリックすると、
・pass.cer
というファイルがダウンロードされます。
6.ダウンロードしたpass.cerをダブルクリックすると、Keychainが立ち上がります。
左側のキーチェーンを[ログイン]、分類を[自分の証明書]とすると追加された証明書が分かりやすいです。
「Pass Type ID:(2.でいれたIdentifier)」という証明書がそれです。
この証明書の上で右クリックし、「Pass Type ID:(2.でいれたIdentifier)を書き出す」を選択し、
フォーマットを「個人情報交換(.p12)」を選択し、適当な名前で保存して下さい。
7.この.p12ファイルを保護するためのパスワードを求められるので、適当なパスワードを2回入れ、「OK」をクリックして下さい。
この際、入力したパスワードは後ほど使用しますので、忘れないようにしてください。
8.teamIdentifierの取得
https://developer.apple.com/ios/manage/passtypeids/index.action
にアクセスし、上で新たに作ったPass Type IDの右側の[confirure]をクリックします。
[ID]というピクトの右側にある「(10桁の英数).(2.でいれたIdentifier)」の10桁がteamIdentifierですので、控えておきます。
3.下準備 〜その2〜
1.https://developer.apple.com/ios/manage/certificates/team/index.action
にアクセスし、WWDR intermediate certificateをダウンロードします。
2.ダウンロードしたAppleWWDRCA.cerをダブルクリックすると、Keychainが立ち上がります。
左側のキーチェーンを[ログイン]、分類を[証明書]とすると追加された証明書が分かりやすいです。
「Apple Worldwide Developer Relations Certification Authority」という証明書がそれです。
この証明書の上で右クリックし、「Apple Worldwide Developer Relations Certification Authorityを書き出す」を選択し、
フォーマットを「PEM形式(.pem)」を選択し、適当な名前で保存して下さい。
以上で準備は完了です。
まとめ
・Pass Type IDを新たに作る
・新たに作ったPass Type IDの証明書から作った「.p12」ファイルを用意する
・「.p12」ファイルのパスワード
・teamIdentifierを控えておく
・Apple Worldwide Developer Relations Certification Authorityから作った「.pem」ファイルを用意する
次回は実際にassBook生成PHPライブラリー PHP-PKPassの使い方を説明します。
2012年6月4日月曜日
札幌のカフェ・喫茶店 宮田屋珈琲
深い香りに包まれる、癒しの空間。
札幌のカフェ・喫茶店の宮田屋は、新鮮な自家焙煎の珈琲と癒しの空間でお客様のお越しをお待ちいたしております。
贈り物に最適なコーヒーギフトもございますので、ぜひ一度足をお運びください。
2012年5月7日月曜日
iPhoneアプリ開発 登録・申請まとめ
●iOS Provisioning Portal 関連
iPhoneアプリ開発 App Storeへの申請
(1)アプリのアーカイブ
App Storeへの申請はXcodeで行う。
Xcode上部メニューのProduct > Archiveでアップするアーカイブを作成
|
Xcode |
(2)OrganizerでValidate
iTunes ConnectのアプリのView Details画面で「Ready to Upload Binary」をして置くこと
Xcode Organizer |
(3)OrganizerでDistribute
(4)ハマッたところ
XcodeのBundle identifier
iOS Probisioning PortalのDistributionのApp IDと
iTunes ConnectのApp InformationのBundle IDが全て一致していないとエラーになる
iOS Provisioning PortalのProvisioning画面 |
iTunes ConnectのApp Information画面 |
iPhoneアプリ開発 試験端末の登録
Macに試験端末を接続しiTunesを起動し、赤枠のシリアル番号をクリックすると識別子(UDID)が表示される。
iOS Provisioning PortalのDevices画面で「Add Devices」
Add Devices画面で登録
Device Name → 判りやすい任意の名称
Device ID (40 hex characters) → 先程のiTunesで確認したUUID
2012年5月6日日曜日
iPhoneアプリ開発 iTunesConnectへの登録
英語で毎回悩みそうなので、やった事を φ(.. )メモシテオコウ
(1)iTunesConnectにログイン後、ユーザー登録
(2)「Add New User」クリック
(3)連絡先・銀行情報・税金などを設定
(5)「Bank Info」の入力
・Add Bank Account で銀行情報を追加
・Bank Country: → Japan
・全銀コード
(数字4桁の銀行コード+数字3桁の支店コード)
Don't know your Zengin Code? Lookup your Bankで検索出来ます。
(ちなみに北洋銀行はNorth Pacific Bankで登録されていた・・・。カッコつけないでHokuyo Bankでいいじゃん・・・
北海道銀行はHokkaido Bank、北陸銀行はHokuriku Bank)
・Bank Account Number: → 口座番号
・Account Holder Name → 口座名義
・Bank Account Type: → TOUZA or FUTSU
・Bank Account Currency: → JPY
でNext
・I certify that the information above is …. チェック後送信
Default Language → Japanese
入力したら「continue」
Availability Date → 公開可能日
Price Tier → 価格帯
Discount for Educational Institutions → 教育機関のための割引(チェック外す)
Custom B2B App → B2B用アプリ(一般顧客には販売できない)
●Rating
(2)「Add New User」クリック
First Name :
Last Name :
Email Address :
などを入力
(3)連絡先・銀行情報・税金などを設定
(4)「Contact Info」の入力
Create New Personで登録し、下のプルダウンを選択する
・Add Bank Account で銀行情報を追加
・Bank Country: → Japan
・全銀コード
(数字4桁の銀行コード+数字3桁の支店コード)
Don't know your Zengin Code? Lookup your Bankで検索出来ます。
(ちなみに北洋銀行はNorth Pacific Bankで登録されていた・・・。カッコつけないでHokuyo Bankでいいじゃん・・・
北海道銀行はHokkaido Bank、北陸銀行はHokuriku Bank)
・Bank Account Number: → 口座番号
・Account Holder Name → 口座名義
・Bank Account Type: → TOUZA or FUTSU
・Bank Account Currency: → JPY
でNext
・I certify that the information above is …. チェック後送信
(6)「Tax Info」の入力
・U.S. Tax Forms を選択後
・Are you a U.S. citizen, U.S. resident, U.S. partnership, or U.S. corporation? → No
・Do you have any U.S. Business Activities? → No
・Certificate of Foreign Status of Beneficial Owner → Type of Beneficial OwnerとTitleの入力
・I declare that the individual or organization named i…. → チェック後送信
・I certify that the information above is …. チェック後送信
一回設定したら、変更できません的な事を最後に言われた。。。
(7)「Manage Your Applications」の入力
App Name → アプリの名称
SKU Number → 単品コード(製品管理コード?識別コード)ユニークであればいいらしい
Bundle ID → 公開用に登録したApp ID
入力したら「continue」
Availability Date → 公開可能日
Price Tier → 価格帯
Discount for Educational Institutions → 教育機関のための割引(チェック外す)
Custom B2B App → B2B用アプリ(一般顧客には販売できない)
入力したら「continue」
●Version Information
Version Number → バージョン
Copyright → 著作権
Primary Category → メインのカテゴリ
Secondary Category (optional) → セカンダリのカテゴリ
Review Notes (optional) → 追記
アプリケーションに猥褻な内容や、ポルノ、攻撃あるいは中傷的な内容が含まれていないのでNoneを全てチェック
●Metadata
Description → 説明
Keywords → キーワード
Support Email Address → サポートメアド
Support URL → サポートサイト
Marketing URL (optional)
Privacy Policy URL (optional)
●EULA(End User License Agreement)
独自のEULAがある場合は記述
●Uploads
Large App Icon → AppStore用の512x512pxのアイコン
iPhone and iPod touch screenshots → iPhone and iPod touch用のスクリーンショット
(iPhone and iPod touch Screenshots must be .jpeg, .jpg, .tif, .tiff, or .png file that is
960x640, 960x600, 640x960 or 640x920 pixels, at least 72 DPI,
and in the RGB color space.)
iPad Screenshots → iPad用のスクリーンショット
(iPad Screenshots must be .jpeg, .jpg, .tif, .tiff, or .png file that is
1024x768, 1024x748, 768x1024, 768x1004, 2048x1536, 2048x1496, 1536x2048 or 1536x2008 pixels,
at least 72 DPI, and in the RGB color space.)
登録したアプリをクリックしApp Information画面へ。
登録が終わりManage Your Appsのトップページに戻るとアプリが登録されている
Statusが「Prepare for Upload(アップロードの準備中)」になっている
現在、アプリのアップデートはXcode Organizerでやるらしく、ここのStatusを「Waiting For Upload」変えてあげないとXcode OrganizerでValidateしてもエラーになる。ここでもかなり嵌った。。。。。
右上の「Ready to Upload Binary」をクリックし
つ「Export Compliance」画面で
Is your product designed to use cryptography or does it contain or incorporate cryptography? → No
(Binaryが暗号化されていたり、暗号化を含んでいるかどうか)
iPhoneアプリ開発 Provisioningの登録
●Provisioningの登録とダウンロード
Developmentは開発時に必要
Distributionは公開時に必要ですので、
適宜、上部のタブを選択しProvisioningを登録する
●Development Provisioning Profile(開発用)の作成例
・Profile name → 判りやすい識別名を入れる
・Certificates → チェック
・App ID → 適宜選択
・Devices → Devicesで登録した試験端末が表示されるので適宜チェック
Distribution(公開用)も基本的に同じです。
iPhoneアプリ開発 App IDsの登録
App IDsの登録
アプリの開発や公開をするためにApp IDを登録。
開発用のIDと公開用のIDでひとつのアプリにつき2つ必要。
Description → 説明
Bundle Seed ID (App ID Prefix) → AppIDの前につく文字列(編集不可)
Bundle Identifier (App ID Suffix) → AppIDの後ろにつく識別名 Example: com.domainname.appname
ここで指定したAppIDのBundle identifierをXcodeで制作中のiPhoneアプリに指定してあげないとエラーが出てかなり嵌まる。。。。
登録:
投稿 (Atom)