我正在尝试提交我的第一款具有应用内购买功能的iPhone应用。毋庸置疑,我已经把头撞在墙上一段时间了。我已经阅读了几个教程,例如:http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/和http://blog.mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-app-purchases/,但似乎这些教程已经过时了?例如,我无法找到开发人员在iTunes连接上拒绝提交的位置。
此外,我正在向应用程序提交捆绑包中包含的应用内购买功能(我没有将它们存储在服务器上 - 我只想在用户购买功能时解锁代码)。这样做的最佳方式是什么?
谢谢!
答案 0 :(得分:1)
应用内购买开发绝对是iOS开发的一个难点 - 他们的沙盒模型非常荒谬。
毋庸置疑 - 您正在阅读的文章仍然是最新的。开发人员拒绝绝对是要走的路(我认为可以从二进制细节中做到)。要记住的一件事是,你还需要接受适当的合同和税收安排 - 如果你还没有,那么商店“就是不行”。
有一件事让我感到惊讶:当您提交应用程序的最终版本时 - 请务必勾选要包含的应用内购买内容;否则,应用内购买将不会被审核(并被接受)!
更新:虽然时间很长......你可能想要浏览一下:https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
解释如何开发人员拒绝等。
答案 1 :(得分:1)
链接教程中的一些信息实际上已经过时了:我可以在iTunes连接中的应用程序项目中创建,而无需先提交(并拒绝)二进制文件。请确保在测试时不要提交您的项目以供审核。此外,物品(例如价格等级)的更改几乎立即得到处理,我不必等待24小时。
要解锁您的功能,您可以使用NSUserDefaults
存储和检索已购买的状态。但是,对于越狱或访问apps文件夹的用户来说,这很容易受到限制。看看http://maniacdev.com/2011/08/open-source-ios-keychain-wrapper-for-easily-securing-user-data-for-your-app/。这提供了一种在钥匙串中存储数据的简单方法。这仍然不会阻止某人“破解”您的应用并在没有实际购买的情况下启用购买的功能,但这并不容易......