2016-11-16 2 views
1

私は、Swift 3でいくつかの永久アイテムを使ってアプリ内購入機能を実装しようとしています。 iTunes Connectですべてが作成され、バンドル名が設定され、iTunes Connectで4つの項目が正しく宣言されます。問題はXcode内のコードについてです。我々はより多くのアイテムが必要な場合は、このチュートリアルでは、ただ一つのアイテムのために作られSwift 3:アプリ購入機能で複数のアイテムを使用する

https://www.raywenderlich.com/122144/in-app-purchase-tutorial

が、何について:私はここRaywenderlich.comからチュートリアルを使うのか? (私の場合は4)。私はコードを変更して2つ以上の単一項目を管理し、成功することなく2日間試行します。私はコードをテストすると私は古いアイテムの宣言を有効にすると、代わりに1の(コンパイラはエラーを返しませんが、私は私の購入リストに何の項目を参照してくださいません

import Foundation 

public struct RageProducts { 

public static let GirlfriendOfDrummerRage = "com.creaworks.FurryLight_Puzzles.Guitarist" 



fileprivate static let productIdentifiers: Set<ProductIdentifier> = [RageProducts.GirlfriendOfDrummerRage] 

// Initial declaration for one item 
// public static let store = IAPHelper(productIds: RageProducts.productIdentifiers) 
} 

//New declaration for 4 items 
public static let store = IAPHelper(productIds: Set(
[ 
    GreenGrocerPurchase.AdRemoval, 
    GreenGrocerPurchase.NewShoppingLists_One, 
    GreenGrocerPurchase.NewShoppingLists_Five, 
    GreenGrocerPurchase.NewShoppingLists_Ten 
    ].map { $0.productId } 
)) 

func resourceNameForProductIdentifier(_ productIdentifier: String) -> String? { 
return productIdentifier.components(separatedBy: ".").last 
} 

:私は、次のコードで構成RageProductsを変更しました)。私は何が欠けていますか?

アプリの購入のために複数のアイテムを宣言する簡単なコード例がありますか?私はウェブ上で何かを見つけることができません。私はスプライトキットを使用しているので、テーブルビューのコンポーネントやUIViewボタンは必要ありません。これは、アプリの購入機能から始めるためにちょっと混乱します。

答えて

2

は、あなたがこの1に似た追加の識別子を、追加していることを確認してください:

public static let GirlfriendOfDrummerRage = "com.creaworks.FurryLight_Puzzles.Guitarist" 

その後Set<ProductIdentifier>に追加します。ここで

2製品との例:あなたの助けを

public struct Products { 

    public static let One = "com.creaworks.FurryLight_Puzzles.Guitarist" 
    public static let Two = "com.creaworks.FurryLight_Puzzles.GuitaristTWO" 

    fileprivate static let productIndentifiers: Set<ProductIdentifier> = [Products.One, Products.Two] 

    func resourceNameForProductIdentifier(_ productIdentifier: String) -> String? { 
     return productIdentifier.components(separatedBy: ".").last 
    } 
} 
+0

おかげで、私はいくつかのIAPHelperインスタンスが必要なのでしょうか、私は1つのインスタンスのみ(店舗変数)といくつかの項目を管理することができますか? – PGibouin

+0

同じもの。正しい 'struct'という名前を使用していることを確認してください – Idan

+1

偉大な、それは正常に動作し、私は私のリストに私の4つのアイテムを見ることができます!私たちがspritekitを知っていれば、コード内でのアプリ内購入は簡単ではありません! – PGibouin

関連する問題