前段时间,我不小心删除了我应用的主要故事板。我阅读在垃圾文件夹中找到它,然后将其拖回到我做的项目中。
但是,我没有意识到这样做实际上并没有将文件传回它所属的位置。它只是让应用程序引用垃圾文件夹中的故事板。
在很大程度上忘记了这一点,在一个错位的组织中,我今天把我的垃圾清空了,现在主要的故事板在应用程序中显示为红色并且丢失了。
一个person回答类似的问题,说要直接查看base.lproj的派生数据。我这样做了,发现了一个启动画面,但没有主要的故事板。
但我确实应用程序仍在模拟器中运行。
想知道是否还有从那里恢复故事板。
我也尝试过使用钻取磁盘的数据恢复路径,但它没有打开文件。
你有什么建议吗?
答案 0 :(得分:1)
我没有意识到这样做实际上并没有将文件转移回它所属的位置
嗯,如果你问的话,它确实如此。当您将某些内容拖入项目时,会显示一个对话框,其中包含一个复选框,询问您是否要将该内容复制到项目文件夹中。如果您没有选中该复选框,那就是您自己的错误。
您无法从构建的应用程序中检索故事板或(同样的东西)故事板,因为它们不是同一个故事板。构建的应用程序包含故事板的已编译版本( .storyboardc 文件)。因此,您无法从故事板中恢复源,只需从构建的应用程序的已编译二进制文件中提取代码文件的源代码即可。
从备份中检索故事板可能会更好。例如,也许你的Mac有Time Machine运行;如果是这样,你在最近的Time Machine备份中得到了原始故事板。当然,任何关心他的工作的优秀程序员都会将这项工作保留在版本控制之下(例如git),因此故事板将在您将其移至垃圾箱之前保存在提交中。