相关疑难解决方法(0)

如何在设备上卸载ios app后保留ios中的identifierForVendor?

我正在开发一个iOS应用程序,它调用web服务进行登录,然后我将登录凭据与供应商标识符(identifierForVendor)一起发送到Web服务器,以便为这些凭证唯一地标识设备.因此用户只能拥有一个设备和一个凭证.

我有了identifierForVendor

NSString *uuid = [[UIDevice currentDevice] identifierForVendor].UUIDString
Run Code Online (Sandbox Code Playgroud)

然后该标识符将存储在Web服务器的数据库中以及设备数据库中.当用户打开应用程序并尝试从Web服务器下载数据时,用户设备上的本地identifierForVendor将与存储在Web服务器上的标识符进行比较.

用户卸载应用程序并重新安装时出现问题,我发现identifierForVendor已更改.因此用户无法继续前进.

我阅读了苹果文档UIDevice Documentation

如前所述,如果来自同一供应商的所有应用程序都从设备卸载,则在从该供应商新安装任何应用程序时将采用新的identifierForVendor.

那么在我的案例中如何处理这个问题呢?

uuid identifier uniqueidentifier ios

66
推荐指数
4
解决办法
5万
查看次数

用户删除我的iOS应用程序后如何存储本地数据?

我认为这是不可能的,因为所有数据都存储在沙盒中,当用户删除应用程序时,应该从设备中删除所有数据.

但不知何故,这发生了:

我从appstore下载了一个壁纸应用程序.

这是一个免费的应用程序,如果你不付费,你可以下载有限的壁纸,最多105.

  • 我下载壁纸并保存到我的相册.它现在是1/105.
  • 我删除了该应用,并删除了我相册中的壁纸.
  • 我关闭了iCloud备份功能.好的,它完全从我的设备上移除了,对吧?

  • 我再次下载它.

  • 我进入飞行模式,所以没有互联网连接.
  • 我打开应用程序,没有壁纸预览可以从互联网上下载.

但保存计数显示1/105!

我不是想偷他们的壁纸,我没有改变我的壁纸4个月.我只是想知道,这个应用程序怎么知道我已经保存了1个壁纸?

  • 我删除了该应用.所以它不存储在应用程序文档或tmp文件夹中.
  • 我删除了我的相册中的壁纸,因此它无法从我相册的MD5中获取.
  • 我处于飞行模式,因此它无法从服务器或互联网上的任何地方获取.

有谁知道这个应用程序存储保存/下载计数的位置?

persistence sandbox ios

11
推荐指数
1
解决办法
6615
查看次数

iOS 10.3 beta 3不会保留KeychainItem的数据

我观察了iOS 10.2.1设备和iOS 10.3 beta 3设备中应用程序的行为https://developer.apple.com/library/content/samplecode/GenericKeychain/Introduction/Intro.html

iOS 10.3 beta 3中正在删除Keychain数据.这在早期版本中仍然存在.

我们有替代方法吗?

iphone keychain ios ios10 ios10.3

7
推荐指数
2
解决办法
3046
查看次数

如何找出用户第一次购买应用程序/安装它时(可能没有UDID?)

我想知道用户何时第一次购买我的应用...到目前为止,我还没有找到一个干净的方式,UDID似乎是唯一的选择.

理想情况下,我可以通过StoreKit获得收据,但到目前为止.. nada

我错过了什么吗?有人有想法吗?


情况是我有订阅和FIRST问题(从您购买应用程序时应该是免费的).如果我以后重新安装..我应该总是得到原始问题)

示例:我在10.2010购买应用程序我安装并运行它并从10.2010免费获得订阅问题(没有应用程序内购买)现在我删除了我安装它的应用程序1.2013我只能从10.2010免费获得订阅!不是新的

subscriptions storekit ios

6
推荐指数
1
解决办法
2452
查看次数

如何快速获取真正的固定Device-ID?

长期以来,我一直使用以下代码。我认为这是独一无二的

但是我删除了我的应用程序并重新安装了它,我得到了新的不同的设备ID。

if let uuid = UIDevice.current.identifierForVendor?.uuidString {
  print(uuid)
}
Run Code Online (Sandbox Code Playgroud)

每次重新安装,我都会得到一个新的ID。

我如何获得保持不变的东西?

swift deviceid

1
推荐指数
2
解决办法
3040
查看次数