在过去的两天里,我一直在努力尝试让应用程序购买工作!这个应用程序还没有被苹果批准(它还没有准备好),所以我只是做了开发人员拉二进制法。我添加了一个非消耗性组件(我非常确定我的合同已经被清除),并将其命名为com.MYAPP.MYAPPNAME.levelone
我正在使用与MKStoreKit 3.1相关的
我只想看到项目会出现在应用程序的NSLog中,所以我在我的应用程序延迟门中有这个
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[MKStoreManager sharedManager];
[[MKStoreManager sharedManager] purchasableObjectsDescription];
...当我运行这个的时候,它只会告诉我
Problem in iTunes connect configuration for product: com.mycompany.myapp.005
Problem in iTunes connect configuration for product: com.mycompany.myapp.featureA这是一个基于Cocos2d的游戏,如果它有什么不同的话。
发布于 2011-05-19 17:49:18
我没有实现MKStoreManager来接受一组产品作为参数是有原因的。1)您不应该在代码中使用硬编码的产品ids。这是因为您使用产品id发起购买请求。前者发生在AppDelegate上,后者发生在您的一个视图控制器上。所以应该有一些文件,放入所有这些乘积常量。为什么不使用MKStoreManager.h本身呢?
发布于 2011-04-15 14:46:24
MKStoreKit 3.1在使用之前需要进行一些配置;它不是开箱即用的。
具体来说,您需要告诉MKStoreKit您在iTunes连接中配置的功能/产品标识符列表。奇怪的是,您可以通过修改源代码来实现这一点,而不是传入一个参数数组。
检查MKStoreManager.h lines 26-34
// CONFIGURATION STARTS -- Change this in your app
define kConsumableBaseFeatureId @"com.mycompany.myapp."
#define kFeatureAId @"com.mycompany.myapp.featureA"
#define kConsumableFeatureBId @"com.mycompany.myapp.005"
// consumable features should have only number as the last part of the product name
// MKStoreKit automatically keeps track of the count of your consumable product
#define SERVER_PRODUCT_MODEL 0
// CONFIGURATION ENDS -- Change this in your app你必须改变这些东西。如果你不这样做,你会得到像你发布的那样的错误。
但那不是唯一的地方。您还必须更新MKStoreManager.m中的requestProductData实现函数,其中使用了kFeatureAId和kConsumableFeatureBId。
-(void) requestProductData
{
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:
kFeatureAId,
kConsumableFeatureBId,
nil]];
request.delegate = self;
[request start];
}您必须自己指定产品标识符列表;MKStoreKit无法为您猜到它。
尽管如此,还是很奇怪。它会让你希望MKStoreKit在它的初始化器中只接受一个产品标识符数组!
发布于 2011-04-13 00:59:36
删除MKStoreManager.m中未使用的产品,如下所示
-(void) requestProductData
{
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:
kFeatureAId,
//kConsumableFeatureBId,
nil]];
request.delegate = self;
[request start];
}https://stackoverflow.com/questions/5445627
复制相似问题