菜鸟教程小白 发表于 2022-12-13 08:44:54

ios - 如何唯一识别 iPhone/iPad?


                                            <p><p>我正在尝试唯一标识 iPhone/iPad 移动设备以保存用户数据。</p>

<p>我发现了一些,包括</p>

<pre><code> UUIDString];
.identifierForVendor.UUIDString;
</code></pre>

<p>或从</p>获取设备 token

<pre><code>- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{ ... }
</code></pre>

<p>但问题是</p>

<ol>
<li>每次我关闭并重新启动应用程序时,UUID 都会发生变化(我经历过
来自调试)</li>
<li>每次我删除并重新安装应用程序时,identiferForVendor 都会发生变化
(或更新应用)</li>
<li>我使用设备 token 来唯一标识跨版本的设备
更新,重新安装,但我知道它可以改变,我是
从我在 xCode 中的更新和调试中体验它。</li>
</ol>

<p>由于应用商店拒绝使用 uniqueIdentifer,我的问题是:
有什么方法可以在任何应用程序更新、删除、重新安装时唯一识别设备?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用 SSkeychain 永久存储唯一 key 。从 <a href="https://github.com/soffes/sskeychain" rel="noreferrer noopener nofollow">this github example</a> 的 sskeychain 文件夹中获取 4 个文件进入你的项目</p>

<p>然后使用此代码获取唯一标识符。</p>

<pre><code>-(NSString *)getUniqueDeviceIdentifierAsString
{

    NSString *appName=[[ infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];

    NSString *strApplicationUUID = ;
    if (strApplicationUUID == nil)
    {
      strApplicationUUID= [[ identifierForVendor] UUIDString];
      ;
    }


    return strApplicationUUID;
}
</code></pre>

<p>删除并重新安装应用后,此标识符不会更改。我已经使用了它,它对我来说非常适合。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何唯一识别 iPhone/iPad?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24860508/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24860508/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何唯一识别 iPhone/iPad?