应用内购买无法连接到iTunes Store

时间:2015-05-04 22:29:19

标签: ios swift parse-platform in-app-purchase

在我的应用中,我想通过应用内购买删除横幅添加,我写了这段代码:

 if adBannerView != nil{
    let userDefaults = NSUserDefaults.standardUserDefaults()

        if userDefaults.boolForKey("proUser") {
        self.adBannerView?.hidden = true
        }

    } else {
    self.adBannerView?.hidden = true
    }

    self.canDisplayBannerAds = true
    self.adBannerView?.delegate = self
    self.adBannerView?.hidden = true
}

func bannerViewWillLoadAd(banner: ADBannerView!) {

}

func bannerViewDidLoadAd(banner: ADBannerView!) {
     self.adBannerView?.hidden = false
}

func bannerViewActionDidFinish(banner: ADBannerView!) {

}

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
    return true
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    self.adBannerView?.hidden = true
}

而且,这是我的“无广告”按钮的代码

@IBAction func noAds(sender: AnyObject) {
    PFPurchase.buyProduct("com.**.***", block: { (error:NSError?) -> Void in
        if error != nil {
        let alert = UIAlertController(title: "Error", message: error?.localizedDescription, preferredStyle: UIAlertControllerStyle.Alert)
            alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
            self.presentViewController(alert, animated: true, completion: nil)           
        }
   })
}

但是,当我在模拟器上运行我的应用程序时,它会给我一个警告窗口,首先它说“你想以0.99美元购买没有广告吗?”,他们按“买”,等待一段时间,弹出一个警报窗口,说“无法连接到iTunes Store”,我搜索了原因,一些网页上写着“你可能写错了一些代码”,那么有人能帮我解决这些代码有什么问题吗?

另外,这是我在AppDelegate中的代码:

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
   Parse.enableLocalDatastore()

    Parse.setApplicationId("****************************",
        clientKey: "****************************")

    PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)

    PFPurchase.addObserverForProduct("com.**.***", block: { (trasition:SKPaymentTransaction!) -> Void in
        let userDefaults = NSUserDefaults.standardUserDefaults()
        userDefaults.setBool(true, forKey: "proUser")
        userDefaults.synchronize()
    })
    return true
}

我使用Parse启用应用程序内购买。

1 个答案:

答案 0 :(得分:0)

据我所知,在模拟器中测试应用内购买(IAP)是不可能的。要测试它们,您需要使用真实设备并使用专门设置为测试用户的iTunes帐户。

Apple在此处提供了更多详细信息https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/TestingInAppPurchases.html