我在我的应用上遇到了一个大问题:我不得不在应用内购买(不续订订阅),我希望用户在应用删除并重新安装在设备上时检索他的订阅。我没有这个应用程序的帐户系统,所以很难。我想知道我是否仍然可以使用将存储所有订阅的服务器,但我不知道如何为每个用户创建一个唯一的ID,并在删除应用程序时检索它。我搜索了应用程序商店收据(包含所有购买),但是当我编写此代码以获取它时,它返回nil:
let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL
var receipt: NSData
do {
receipt = try NSData(contentsOfURL: receiptUrl!, options: NSDataReadingOptions())
} catch _ {
receipt = NSData()
}
let receiptdata: NSString = receipt.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
print(receiptdata)
感谢您的回答
答案 0 :(得分:0)
实际上可以从收据中获取用户DSPersonID
(与iTunes帐户关联的唯一ID),这里有一篇很好的博客文章:should be called。
使用DSPersonID
,您可以唯一标识iTunes用户。
警告这是没有记录的,并且完全有可能在将来发生变化,使用它需要您自担风险。