结论:删掉描述文件,App 图标还在、数据还在,但 App 会立刻打不开。它和卸载是两件完全不同的事,很多人因为搞混了顺序,把本来能保住的数据弄丢了。
描述文件到底管什么
描述文件(Profile,正式叫 mobileprovision)是一份授权凭证,记录三件事:这张证书是谁的、允许哪个 App 运行、允许在哪些设备上运行。系统每次启动这个 App 时,都会拿它去核对一遍。核对通过才放行。
所以描述文件不是 App 的一部分,也不是数据的一部分,它是一张通行证。删掉通行证,人和行李都还在,就是进不了门。
删掉之后会发生什么
App 图标依然在桌面上,点开时系统会因为找不到有效授权而拒绝启动——表现通常是闪退,或者弹出「无法验证」类提示。这时候手机里的数据(聊天记录、存档、登录态)一个字节都没少,只是你打不开那个 App 去读它。
恢复的办法是重新装一份有效的描述文件。签名方给你新的授权之后,App 又能打开,数据通常原样还在。前提是新包的 Bundle ID(应用唯一标识)和原来的一致——一致就是同一个 App,数据接得上;不一致就是另一个 App,老数据仍然读不到。
卸载又是怎么回事
卸载(长按图标删除)会把 App 本体和它的沙盒数据(Sandbox,系统给每个 App 划的独立存储区)一起删掉。这一步才是真正的数据清除,删完不可逆。
所以两者的区别非常清楚:删描述文件 = 收回通行证,人和行李都在;卸载 = 连人带行李一起送走。
描述文件会被谁删掉
几种常见情况:用户在设置里手动移除(很多人是为了「清理」);系统大版本升级后部分配置被重置;装了同名或同证书的新描述文件把旧的顶掉;证书本身被吊销后系统自动失效。最后一种就是常说的掉签,它不是谁删了文件,而是通行证被发证方作废了。
正确的操作顺序
如果你想彻底移除这个 App:先把需要的数据导出(用 App 内的导出功能,或者系统级的备份),再卸载 App,最后再删描述文件。顺序反了——先删描述文件再想导出——App 已经打不开,数据就拿不出来了。
如果只是 App 打不开想修复:不要卸载,也不要删描述文件。去找签名方要一份新的授权,覆盖装上即可,数据大概率完好。很多人一着急就卸载重装,等于主动放弃了数据。这是最常见也最可惜的一种损失。
一个判断技巧
打不开的时候先看图标:图标还在说明 App 和数据都在,属于授权问题,重装授权就能救;图标变灰或者显示「正在载入」,那是另一类问题,处理思路不同。别在没判断清楚的情况下做删除操作。
小结
描述文件是通行证不是行李。遇到打不开先保数据、后动授权,别把「删描述文件」当成清理手段,更别在没导出之前卸载。
我是本期作者小思,想解决苹果企业签名、超级签名、TF签名问题?可以在微信公众号对话框找到我哦~(QQ:822404920 微信:A-mk5888)