我想做一个示例应用程序。我必须根据应用程序的In App Purchase product identifiers
显示bundle identifier
列表。是否有可能获得product identifiers
列表?如果有可能请帮助我。
答案 0 :(得分:1)
Apple没有提供一种方法来获取应用程序的所有inapp产品。他们在文档中提到了这一点。要么我们应该在我们的应用程序中对此进行硬编码,要么使用单独的API调用来返回产品列表。
关于我的实施的想法
产品标识符=捆绑标识符+含义产品全名
将所有产品标识符保存在.Plist中或您可以轻松更改的方便位置。
或
动态方法之一是用户服务器模型。简而言之,通过Web服务从服务器检索产品列表。
我已经创建了帮助类,在这里给我产品标识符列表。我通过在bundleidentifier中附加产品名称获得产品名称表格数据库和crate productidentifier。您可以通过附加带有包标识符的productname来获取产品名称.plist和create productidentifier
+ (SPAppPurchaseHelper *)sharedInstance {
static dispatch_once_t once;
static SPAppPurchaseHelper * sharedInstance;
dispatch_once(&once, ^{
FMDBHandler *dbHandler= [[FMDBHandler alloc] init];
NSString *query=@"SELECT productId FROM PlayList";
NSArray *tblDataArr= [dbHandler getListBySQL:query];
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
NSMutableArray *identifierArray=[[NSMutableArray alloc]init];
for(NSMutableDictionary *productDict in tblDataArr){
NSString *productIdetifierStr= [NSString stringWithFormat:@"%@.%@",bundleIdentifier,[productDict objectForKey:@"productId"]];
[identifierArray addObject:productIdetifierStr];
}
NSSet * productIdentifiers = [NSSet setWithArray:identifierArray];
sharedInstance = [[self alloc] initWithProductIdentifiers:productIdentifiers];
});
return sharedInstance;
}