私はSwift 3.0アプリでアプリ内購入を実装していますので、アプリストアの領収書を取得してiTunes Storeから確認する必要があります。ここで私は領収書を取得しています方法です:iOS Receiptが見つかりません
func getReceipt() -> Data? {
if Bundle.main.appStoreReceiptURL != nil {
print("app receipt: \(Bundle.main.appStoreReceiptURL)")
do {
let receiptData = try Data(contentsOf: Bundle.main.appStoreReceiptURL!)
print(receiptData)
return receiptData
} catch {
print("error converting receipt to Data: \(error.localizedDescription)")
}
}
return nil
}
レシートURLのための私のコンソール出力は、次のとおりです。
アプリの領収書:オプション(ファイル:///ユーザ/ dustinspengler /ライブラリ/開発/ XCPGDevices/433E8E8F-B781-4ADC-A92D-5CABC28E94D6 /データ/コンテナ/データ/アプリケーション/ C25BE9B6-FB64-4D49-9CF2-9DA371060A7B/StoreKit /受信)
その後Data
に領収書を変換することができなかったとキャッチコピー:
領収書をデータに変換中にエラーが発生しました:このようなファイルがないため、「領収書」ファイルを開くことができませんでした。遊び場、シミュレータ、および実際のデバイスでこれを実行しているとき、私は、これは何の領収書は、ユーザーがアプリ内購入を行っていないという事実を考慮すると、アプリのために存在しないことを意味しているので、まったく同じ出力を得る
まだですか? Appleのdocumentationで読んでみると、前回の購入に関係なく常に作成されているという印象を受けました。
*ユーザーが購入するまで領収書はありません。 App Storeからダウンロードしたアプリ(無料のものでも)。これは*購入*ですので、領収書があります。 Xcodeのデバッグビルドでは、アプリ内購入が行われるまで領収書はありません。 – Paulw11
応答@ Paulw11に感謝します!これを回答として提出したい場合、私はそれを受け入れます。 –
この情報はAppleのドキュメントには記載されていないと考えています。 –