菜鸟教程小白 发表于 2022-12-13 00:56:08

ios - 如何防止我的设置(文件、NSUserdefaults)被 iExplorer 等外部应用程序修改


                                            <p><p>我想在 App 首次启动时做一些操作。我已经按照此处的建议编写了代码:<a href="https://stackoverflow.com/questions/9964371/how-to-detect-first-time-app-launch-iphone" rel="noreferrer noopener nofollow">how to detect first time app launch,iphone</a> .它运行良好。</p>

<p>我可以使用 iExplorer 删除和修改 UserDefault plist 中的内容。所以我的应用程序没有按预期运行。有什么方法可以限制外部应用(iExplorer)修改应用文件?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果您使用 iExplorer 更改系统文件,您可能会使任何应用程序无法正常运行。使其<strong><em>在某种程度上</em></strong>防篡改(虽然效率不高)的一种方法是在服务器上而不是在本地文件上管理信息。例如,您的应用可能会调用 Web 服务来检索和存储设置。这并不是说他们无法篡改您的应用程序包,使其无用。</p>

<p>简而言之,你不能让你的应用完全防篡改</p>

<p><strong>编辑</strong></p>

<p>正如 Zaph 所建议的,您可以使用钥匙串(keychain)。只需将 <code>[ bundlePath]</code> 作为 key 存储在钥匙串(keychain)中。 <code>bundlePath</code> 对于每个安装都是唯一的。因此,当您的应用程序加载时,请检查钥匙串(keychain)中的 <code>bundlePath</code>,如果不存在,则它是全新安装/首次加载。应用加载后,将 <code>bundlePath</code> 保存到钥匙串(keychain)。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何防止我的设置(文件、NSUserdefaults)被 iExplorer 等外部应用程序修改,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/14750911/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/14750911/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何防止我的设置(文件、NSUserdefaults)被 iExplorer 等外部应用程序修改