ETo*_*reo 4 iphone storekit in-app-purchase
我正在尝试在我的iPhone上测试In App Purchases并遇到一个问题,我在那里请求信息,最终作为"didRecieveResponse"方法中的无效产品ID返回给我.
我有:
一切似乎都已到位,但我仍然将我的产品作为无效ID返回给我.
这是我正在使用的代码:
- (void)requestProductData {
SKProductRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: @"com.domain.appname.productid"]];
request.delegate = self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *myProducts = response.products;
NSArray *myInvalidProducts = response.invalidProductIdentifiers;
for(int i = 1; i < myInvalidProducts.count; ++i)
{
std::cout <<"invalid product id = " << [[myInvalidProducts objectAtIndex:i] UTF8String] << std::endl;
}
for(int i = 0; i < myProducts.count; ++i)
{
SKProduct * myProduct = [myProducts objectAtIndex:i];
std::cout << "Product Info:" << std::endl;
std::cout << "\tlocalizedTitle = " << [[myProduct localizedTitle] UTF8String] << std::endl;
std::cout << "\tlocalizedDescription = " << [[myProduct localizedDescription] UTF8String] << std::endl;
std::cout << "\tproductIdentifier = " << [[myProduct productIdentifier] UTF8String] << std::endl;
std::cout << "\tprice = " << [[myProduct price] doubleValue] << std::endl;
std::cout << "\tpriceLocale = " << [myProduct priceLocale] << std::endl;
}
[request autorelease];
}
Run Code Online (Sandbox Code Playgroud)
我的所有产品ID都显示在无效的打印输出中,并且没有一个显示在"产品信息:"打印输出中.
任何建议将不胜感激...
PS是的,这是作为Objective-c/c ++构建的.
我尝试了在Apple论坛和这里建议的所有内容,但仍无法使其工作.找到解决方案 - 您的应用程序需要通过Xcode传输才能启用沙箱.
很明显,对吧?好吧,如果您正在使用现有帐户的更新,设备仍会将其视为App Store安装的应用程序.
删除它,然后再次传输.它现在应该工作:)
| 归档时间: |
|
| 查看次数: |
11026 次 |
| 最近记录: |