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

iOS应用内付费实践

2015-04-02 00:00 211 查看
摘要: in-app purchase

iOS应用内付费

1,在iTunes connect上创建应用,当然你得先有一个app store的账号。

2,创建对应的付费内容,最核心关键的是product_id

3,创建沙盒测试账号,你得申请一个没有在苹果注册过的邮箱,以后估计也废了,原有的App Store账号不能注册进去,我觉得这真是一件坑爹的事情。

4,接下来就是你的本地程序了,注意你的team,profile,bundle ID跟你注册的内容一致,当然,如果你不知道这些内容代表什么,你估计只是一个玩家,而非职业开发人员。

5,在你的编译targets中Capabilities中打开in-app purchase, 印象中StoreKit.framework会自动加入,就算没有,也没关系,自己在Build Phase中加入即可。

6,好了,现在就是代码阶段了,具体可以参考http://mobile.51cto.com/iphone-389249.htm,上面基本把所有代码都展示了。

7,服务器端验证receipt。

ps:

1. [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 这句话很重要,不被执行的话,会提示您已购买此APP内购买项目 此项目将免费恢复,所以一定得执行,我至少为此浪费了几个小时。可以参考http://blog.csdn.net/dfgjava/article/details/13507429。

2.最新的获取receipt从iOS7之后有些变化,如下:

if let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL {

if let receiptData = NSData(contentsOfURL:receiptUrl) {

var receipt_data = receiptData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.allZeros)





最后,代码回被我保存到MyProject中。http://git.oschina.net/brightmoon/MyProject

参考文档:

http://mobile.51cto.com/iphone-389249.htm

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573-CH105-SW1

http://blog.csdn.net/dfgjava/article/details/13507429
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  in-app purchase