kri*_*orn 11 storekit in-app-purchase ios swift
我正在使用SKStoreProductViewController以下方法显示iTunes产品.该方法被调用,但我没有成功或错误.知道为什么吗?:
@IBAction func BuySomething(sender : AnyObject) {
NSLog("%@","called");//gets called
let storeViewController:SKStoreProductViewController = SKStoreProductViewController();
storeViewController.delegate = self;
var someitunesid:String = "676059878";
var productparameters = [SKStoreProductParameterITunesItemIdentifier:someitunesid];
storeViewController.loadProductWithParameters(productparameters, { (success: Bool!, error: NSError!) -> Void in
if success {
NSLog("%@",success)//no call
self.presentViewController(storeViewController, animated: true, completion: nil);
} else {
NSLog("%@", error)//no call
}
})
}
Run Code Online (Sandbox Code Playgroud)
CjC*_*oax 16
由于某些原因SKStoreProductViewController无法在模拟器上运行,您必须在实际设备上尝试它.
我刚刚在实际设备上尝试了这个,并获得了成功调用回调后在实际设备上的样子截图:
以下是我用过的代码:
import UIKit
import StoreKit
class ViewController: UIViewController,SKStoreProductViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func BuySomething(sender : AnyObject) {
NSLog("%@","called");//gets called
let storeViewController:SKStoreProductViewController = SKStoreProductViewController();
storeViewController.delegate = self;
var someitunesid:String = "676059878";
var productparameters = [SKStoreProductParameterITunesItemIdentifier:someitunesid];
storeViewController.loadProductWithParameters(productparameters, {
(success: Bool!,error: NSError!) -> Void in
if success {
NSLog("%@",success)
self.presentViewController(storeViewController, animated: true, completion: nil);
} else {
NSLog("%@", error)
}
})
}
// this is SKStoreProductViewControllerDelegate implementation
func productViewControllerDidFinish(viewController: SKStoreProductViewController!) {
}
}
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |