
SKStoreProductVIEwController *storeController = [[SKStoreProductVIEwController alloc] init]; [storeController setDelegate:self]; //set product parameters //must be a number wrapped in a string NSDictionary *productParameters = @{ SKStoreProductParameterITunesItemIDentifIEr : @"36372693196"}; [storeController loadProductWithParameters:productParameters completionBlock:^(BOol result,NSError *error) { if (result) { //show [self presentVIEwController:storeController animated:YES completion:nil]; }else { NSLog(@"ERROR WITH STORE CONTRolLER %@\n",error.description); //redirect to app store //[[UIApplication sharedApplication] openURL:[[self class] appStoreURL]]; } }]; 如果我这样做^^没有任何反应.永远不会执行块中的if(result)或else语句.
我也看到人们传递nil为完成块,并在此之后立即以模态方式呈现视图控制器,如下所示:
SKStoreProductVIEwController *storeController = [[SKStoreProductVIEwController alloc] init]; [storeController setDelegate:self]; //set product parameters //must be a number wrapped in a string NSDictionary *productParameters = @{ SKStoreProductParameterITunesItemIDentifIEr : @"36372693196"}; [storeController loadProductWithParameters:productParameters completionBlock:nil]; [self presentVIEwController:storeController animated:YES completion:nil]; 当我呈现视图控制器时,执行loadProductWithParameters块内的代码.我在这一点上非常困惑.如果在我出现之前块没有运行,我如何检查成功或失败.
最后,我读到你应该在后台线程中执行loadProductWithParameters.我也尝试过这个.第二个选项是唯一提出模态的选项 – 无法从模拟器和设备连接到iTunes消息.我尝试了多个应用程序ID.到底是怎么回事?我该如何工作?
解决方法 你是第一个代码应该工作得很好.但是在iPhone模拟器中,iTunes Store通常会返回错误.我已经在iPhone上测试了你的第一个代码(带有其他标识符)并且它工作得很好,但你提供的SKStoreProductParameterITunesItemIDentifIEr(36372693196)似乎不正确.
总结以上是内存溢出为你收集整理的ios – SKStoreProductViewController的奇怪行为全部内容,希望文章能够帮你解决ios – SKStoreProductViewController的奇怪行为所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)