ios - 将付费应用升级为免费应用

标签 ios objective-c iphone app-store upgrade

我在应用商店中有一个付费应用(1.3 版)。我想发布具有应用内购买功能的更新(1.4 版)。我计划发布免费的更新(版本 1.4)。

我已经介绍了用户从付费版升级到免费版的所有可能情况。只有一种情况我被卡住了。

  1. 用户已经在 iPad 2
  2. 上通过 iTunes 帐户 xyz@gmail.com 下载了 1.3 版付费应用
  3. iTunes 上的当前可用版本是 1.4,它是免费
  4. 用户在 iPad 2 上下载版本 1.4 [升级有效,因为我可以获得以前的 UserDefaults key 来识别]<
  5. 用户在 iPhone 6 上下载 1.4 版本 1.3 xyz@gmail.com [如何知道用户已经购买了应用?]

有谁知道这个问题的解决方案是什么。

最佳答案

Lev Landau的评论是对的。 如果您没有服务器集成,则必须在 1.3.1 版本中在用户设备上本地存储一些内容。但是你会遇到拥有多个设备(即 iPhone 和 iPad)的用户的麻烦。我可以考虑 3 种方法来解决这个问题:

  1. 确保您的“已购买”标志保存在 iCloud 上
  2. 使用免费的应用内购买作为标志(RIP 用户体验)。
  3. 为 1.4 发布一个带有新应用 ID 的新应用,并发布一个 1.3.1,它将警告您的用户有关新应用的信息,并允许您在新应用中检索的钥匙串(keychain)条目(请参阅 this answer 以查看如何在应用之间共享钥匙串(keychain)数据)

请注意,方法 1 和 2 不会对 100% 的用户起作用(例如,如果他们在 1.4 之前没有打开 1.3.1)。我会推荐方法 3

关于ios - 将付费应用升级为免费应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050456/

相关文章:

iphone - 如何通过用户触摸 iPhone 左右滚动页面

ios - iPhone "slide to unlock"动画

iOS : Firebase notification not working for user segment

objective-c - 使用 Objective-C 进行更高级别的文件读/写

objective-c - 调整大小时淡入 UIView 阴影

iphone - AlertView 正在运行,但未显示 didReceiveRemoteNotification

IOS/Objective-C。在离开 View Controller 之前检测选项卡栏上选项卡的按下

ios - 键盘未加载或速度太慢

ios - 使用 ALAssetLibray 获取仅由 iPhone 相机拍摄的照片

iphone - 如何每周或每月只调用一次函数?