您的位置:首页 > 移动开发

内置付费 inapp purchase and Error Domain=SKErrorDomain Code=0 “Cannot connect to iTunes Store”错误

2012-12-26 17:49 375 查看
MKStoreKit 3.0+ 内置付费的开源库 Mugunth Kumar大神的

英文iPhone Tutorial – In-App Purchases

中文翻译的地址 http://www.overcode.hk/?p=298

MKStoreKit 4.0 非常简单 代码几乎几行就能搞定 比3.0用着方便多了

里面详细介绍了 使用方式,源代码下载里面给出了连接,

MKStoreKit4.0 使用简单介绍

源码在https://github.com/MugunthKumar/MKStoreKit

appdelegate.m文件中添加代码

#import "MKStoreManager.h"

在applicationDidFinishLaunching调用 [MKStoreManager sharedManager] 使其initialize。

在购买物品的地方使用函数

#import "MKStoreManager.h"


NSString* kFeatureId = [NSString stringWithFormat:@"com.yourcompany.gamename.%d",_buyProductId+1];
[[MKStoreManager sharedManager] buyFeature:kFeatureId
onComplete:^(NSString* purchasedFeature,
NSData*purchasedReceipt,
NSArray* availableDownloads){
//购买成功 添加金钱等物品
NSLog(@"Purchased: %@", purchasedFeature);}
onCancelled:^{/*购买取消 做相应操作或者什么都不做*/}];


buliding 发现arc 错误,然后在修改,在TARGETS -> buldphases 中修改相关文件属性为-fobjc-arc 一共是三个文件

就这么简单 不再真机上测试 是可以成功的,但是一定要进行真机测试。

真机测试中频繁出现Error Domain=SKErrorDomain Code=0 “Cannot connect to iTunes Store”错误(code = 1 /code = 2/code =3) 错误 搞得好头大 然后就查啊 查 但是最后还是搞定了》,《

可以从以下几方面检查

(注意)cydia装了AppSync导致的IAP sandbox不能问题,越狱可以、装cydia也可以,但是不能装AppSync,装了就会导致IAP沙盒测试失败。

还有其他的说法 总之很多,大概要进行下面几点,我最后调好了进行了这些操作。(如果你用的是这个开源库,确保模拟器测试输出成功信息然后在进行下面的操作,确保错误不是处在你的代码上面)

1:如果越狱 在 cydia中卸载AppSync(在最后一个里面搜索appsync 然后打绿勾的表明你安装了,没打绿勾但是你经过2345不行的话 建议重新安装适合设备的appsync 然后在卸载,重新执行2345)

2:删除设备上面的应用程序

3:登出store账户 然后在启用新的账户设置appstore 地区是美国区(测试账户设置到填写银行账户的时候就不用在填写详细信息了直接home键退出就行)

4:重启设备

5:run in you Device

然后就感觉突然 天晴了。测试成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐