IAP 的 NSCoding 或 Userdefaults

Posted

技术标签:

【中文标题】IAP 的 NSCoding 或 Userdefaults【英文标题】:NSCoding or Userdefaults for IAP 【发布时间】:2017-05-13 10:04:12 【问题描述】:

我有一个简单的问题:

要在 Swift 中存储 iap 购买,使用 Userdefaults 或 NSCoding 最安全?我不想使用“收据验证”,所以我只想知道以上两种方法中哪一种更“难”越狱手机破解。

【问题讨论】:

UserDefaultsNSCoding 是两个完全正交的概念。任何人都与制造任何“难以破解”的东西无关。 UserDefaults 是一个存储设施。 NSCoding 是一种将对象树转换为数据的方法。 【参考方案1】:

钥匙串是一种安全存储。您可以在其中存储所有类型的敏感数据:用户密码、信用卡号、秘密令牌等。一旦存储在 Keychain 中,此信息仅对您的应用程序可用,其他应用程序无法看到。除此之外,操作系统确保这些信息被安全地保存和处理。例如,存储在 Keychain 中的文本无法从 iPhone 备份或其文件系统中提取。 Apple 建议仅在 Keychain 中存储少量数据。如果你需要保护一些大的东西,你可以手动加密它,保存到一个文件并将密钥存储在钥匙串中。

您可以使用此框架轻松使用钥匙串: https://github.com/marketplacer/keychain-swift

【讨论】:

这个框架是苹果认可的吗?感谢您的回答,我会尝试这种方法来提高我的应用程序的安全性!一个问题:使用钥匙串时,我必须在将应用程序提交到 iTunes Connect 以供批准时声明我的应用程序使用数据加密?

以上是关于IAP 的 NSCoding 或 Userdefaults的主要内容,如果未能解决你的问题,请参考以下文章

付款 - IAP 或第三方

拒绝 IAP - iTunes Connect

如何在 iTunesConnect 上创建动态 IAP?

您可以在提交应用程序或相关 IAP 之前使用 App Store 沙盒测试(特别是verifyReceipt)吗?

Vue&uniapp实现IOS iap支付

IAP:普通产品+多合一