2013年04月25日
アップルのアプリ内課金の審査
アップルのアプリの審査はどんどん、厳しくなってるような気がします。
それか、私が時々変なアプリを提出するから目を付けられてるかもしれませんww
ただ、アプリ内課金に関してはほんとに厳しくなってるようです。
今回はリストア処理を忘れて、英語で理由を返されて、意味不明な状態になったので、次回以降のためにメモっときます。
We found that while your app offers In-App Purchase(s) that can be restored, it does not include the required “Restore” feature to allow users to restore the previously purchased In-App Purchase(s), as specified in Restoring Transactions section of the In-App Purchase Programming Guide:
“…if your application supports product types that must be restorable, you must include an interface that allows users to restore these purchases. This interface allows a user to add the product to other devices or, if the original device was wiped, to restore the transaction on the original device.”
To restore previously purchased In-App Purchase products, it would be appropriate to provide a “Restore” button and initiate the restore process when the “Restore” button is tapped by the user.
For more information about restoring transactions and verifying store receipt, please refer to the In-App Purchase Programming Guide.
という文章が帰って来たのですが、一度購入したユーザーが再度購入するときのための処理を実装しなさいということらしいです。
http://maccle.com/objective-c-cocoa/rejected-in-order-to-restore-in-app-purchase/
や、参考書を参考にして、うまくいきましたが、
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
の前に
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
を行っていなかったので、処理結果が帰ってこずに、結構ハマってしまいましたので、次回から注意です。
ちなみに、このことを実装したら審査通りました。ありがとうございます!!
それか、私が時々変なアプリを提出するから目を付けられてるかもしれませんww
ただ、アプリ内課金に関してはほんとに厳しくなってるようです。
今回はリストア処理を忘れて、英語で理由を返されて、意味不明な状態になったので、次回以降のためにメモっときます。
We found that while your app offers In-App Purchase(s) that can be restored, it does not include the required “Restore” feature to allow users to restore the previously purchased In-App Purchase(s), as specified in Restoring Transactions section of the In-App Purchase Programming Guide:
“…if your application supports product types that must be restorable, you must include an interface that allows users to restore these purchases. This interface allows a user to add the product to other devices or, if the original device was wiped, to restore the transaction on the original device.”
To restore previously purchased In-App Purchase products, it would be appropriate to provide a “Restore” button and initiate the restore process when the “Restore” button is tapped by the user.
For more information about restoring transactions and verifying store receipt, please refer to the In-App Purchase Programming Guide.
という文章が帰って来たのですが、一度購入したユーザーが再度購入するときのための処理を実装しなさいということらしいです。
http://maccle.com/objective-c-cocoa/rejected-in-order-to-restore-in-app-purchase/
や、参考書を参考にして、うまくいきましたが、
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
の前に
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
を行っていなかったので、処理結果が帰ってこずに、結構ハマってしまいましたので、次回から注意です。
ちなみに、このことを実装したら審査通りました。ありがとうございます!!
2013年04月20日
コンパイル時のエラー
今回は、zbarというバーコードを読み取るsdkを実装したときのコンパイルエラーについてです。
そのままでも、iPhone5以外は動作したのですが、iPhone5でだけビルドエラーになりました。
file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/imae/Desktop/ZBarSDK/libzbar.a for architecture armv7s
というような、エラーメッセージです。
このような場合はBuildSettingでArchiteturesをStandard(armv7,armv7s)からarmv7に変更したらビルドできました。
このビルドエラーは厄介で色んなパターンがあるのですが、今回解決した方法をメモしておきます。
そのままでも、iPhone5以外は動作したのですが、iPhone5でだけビルドエラーになりました。
file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/imae/Desktop/ZBarSDK/libzbar.a for architecture armv7s
というような、エラーメッセージです。
このような場合はBuildSettingでArchiteturesをStandard(armv7,armv7s)からarmv7に変更したらビルドできました。
このビルドエラーは厄介で色んなパターンがあるのですが、今回解決した方法をメモしておきます。
2013年04月19日
手書き文字認識
今日は新しいネタを見つけましたので、そのことをメモしときます。
zinniaっていうのを使うと、アプリに手書き認識を手軽に実装できそう。
http://d.hatena.ne.jp/kaz_29/20111214/1323841470
オーダリングの端末として使うにはいいかもです。
zinniaっていうのを使うと、アプリに手書き認識を手軽に実装できそう。
http://d.hatena.ne.jp/kaz_29/20111214/1323841470
オーダリングの端末として使うにはいいかもです。
2013年04月18日
日本語入力時に自動的に仮名を
久しぶりに、自動カナ入力を実装しようとしたら、結構悩んだので、メモしときます。
http://www.atmarkit.co.jp/fdotnet/dotnettips/875imeyomi/imeyomi.html
で説明されているとおりなのですが。。
1 ImeComposition.vb を追加する。 (過去参照プログラム→電話交換機データ変換ソフト)
2 利用したいフォームのコードで
private yomiConv As ImeComposition.ImeYomiConversion
を宣言しておく
3 フォームロードなどで
yomiConv = new ImeComposition.ImeYomiConversion( TextBox1, TextBox2)
のように、返還元と返還先のテキストボックスを指定する
4 あとは、次のようなイベントに対する処理を追加する
Private Sub TextBox1_Enter( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
yomiConv.Enabled = true
End Sub
Private Sub TextBox1_Leave( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
yomiConv.Enabled = false
End Sub
実際の処理内容はImeComposition.vbの中に全て記載されているので、勉強するにはこれをしっかり読む必要がありますが、今は時間がないのでパス
http://www.atmarkit.co.jp/fdotnet/dotnettips/875imeyomi/imeyomi.html
で説明されているとおりなのですが。。
1 ImeComposition.vb を追加する。 (過去参照プログラム→電話交換機データ変換ソフト)
2 利用したいフォームのコードで
private yomiConv As ImeComposition.ImeYomiConversion
を宣言しておく
3 フォームロードなどで
yomiConv = new ImeComposition.ImeYomiConversion( TextBox1, TextBox2)
のように、返還元と返還先のテキストボックスを指定する
4 あとは、次のようなイベントに対する処理を追加する
Private Sub TextBox1_Enter( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
yomiConv.Enabled = true
End Sub
Private Sub TextBox1_Leave( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
yomiConv.Enabled = false
End Sub
実際の処理内容はImeComposition.vbの中に全て記載されているので、勉強するにはこれをしっかり読む必要がありますが、今は時間がないのでパス
2013年04月12日
Kenの気ままな日記
情熱ブログさん、地域活性化に力を注がれていて、私も何かできないかと、せめてブログに参加してみました。たいしたことは書けそうにありませんが、仕事で役立った技術情報のメモや、日記などを書いてみようと思います。
よろしくお願いします。
よろしくお願いします。
プロフィール
けん
最近の記事
cellForRowAtIndexPathでセルがつくれない (11/28)
データのソート (9/22)
xCodeで今日の0時のNSDateを取得 (8/24)
画像ファイルの上書き (8/19)
バイクレース (8/11)
iPhoneアプリでviewがずれる現象 (6/15)
64bit版のコンパイル (5/31)
ALTER COLUMN (5/31)
アップルのアプリ内課金の審査 (4/25)
最近のコメント
ラクブロ編集長 / Kenの気ままな日記
お気に入り
ブログ内検索
QRコード

アクセスカウンタ
読者登録
人気の楽園ブログ