我正在构建一个个性化的新闻应用程序(ios 将与后端 api 对话)。当新用户使用该应用程序时,我想获取她的设备信息,以便在没有她参与的情况下向她提供相关新闻。为此,最好有可能获取用户在她的设备、位置、设备 ID 中安装的应用程序的类别......
我没有使用 iOS 的经验。我一直在阅读一些帖子和信息,但我对我实际上可以获得什么样的信息感到非常困惑。
我正在构建一个个性化的新闻应用程序(ios 将与后端 api 对话)。当新用户使用该应用程序时,我想获取她的设备信息,以便在没有她参与的情况下向她提供相关新闻。为此,最好有可能获取用户在她的设备、位置、设备 ID 中安装的应用程序的类别......
我没有使用 iOS 的经验。我一直在阅读一些帖子和信息,但我对我实际上可以获得什么样的信息感到非常困惑。
您需要查看UIDevice 类参考以开始确定非个人身份信息。
您将无法执行诸如自动检查他们安装了哪些其他应用程序之类的操作,因为这将构成严重的安全漏洞,并且您的应用程序将被 Apple 不假思索地拒绝。
您可以通过询问设备可以打开哪些 URL(使用 UIApplication canOpenURL:https ://developer.apple.com/library/ios/documentation/uikit/reference/UIApplication_Class/Reference/ Reference.html#//apple_ref/occ/instm/UIApplication/canOpenURL :)
在一个应用程序中,我想知道用户是否安装了 YouTube 应用程序并使用了这个:
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"youtube://foo"]]
YouTube 应用程序设置为处理以 youtube:// 开头的 url,因此如果设备可以处理它,那么它建议,虽然并不一定意味着,他们安装了 YouTube 应用程序。其他应用程序也可能声称它们也处理 youtube:// 链接,因此它不是 100% 准确,但可能足够接近。
您如何确定您感兴趣的每个应用程序处理哪些链接(请记住,某些应用程序不会处理这样的任何 URL)我不知道....
有一个 3rd 方库,它使用 3 种方法来检查设备上安装了哪些其他应用程序
它被称为iHasApp,许多开发人员都在使用它,成功地将应用程序提交到 App Store。
Apple 更希望您先请求许可,但由于这些方法是合法的(从应用程序提交的角度来看),但不需要用户授予应用程序许可。
征求他们同意的一个好方法是鼓励他们这样做。您弹出一个警报并解释您需要此信息的原因以及您将如何处理它。