我完美运行的应用程序曾经有一个 Xcode Project Navigator,如下所示。
iOS 10 要求意味着我必须将 Xcode 升级到 8.1,这意味着将整个 Mac OS 升级到 Sierra,并将整个应用程序转换为 Swift 2.3。
不用说,这会导致错误,其中一个是 PubNub 的问题。然而,除了这个新的构建错误之外,应用程序结构是相同的,在处理完所有布局问题后一切似乎都很好。
我被要求运行以下步骤来尝试解决 PubNub pod 错误,尽管我警告说之前处理 pod 文件的尝试导致了最终无法恢复的致命错误。
- Xcode 更新后安装所有 iOS 模拟器
- 打开 Xcode 首选项 (Cmd+,) 并导航到“Locations”选项卡,其中将显示“DerivedData”文件夹的路径
- 单击显示的“DerivedData”路径右侧带有箭头的小圆圈以在Finder中打开它
- 退出 Xcode
- 删除“DerivedData”文件夹
- 通过在终端中输入以下内容来清理 CocoaPods(如果与它集成)缓存:rm -rf ~/Library/Caches/CocoaPods
- 从项目根目录(Podfile 所在的位置)在终端中运行: pod deintegrate MyApp.xcodeproj
- 从项目根目录(Podfile 所在的位置)中删除 Podfile.lock 文件
- 从项目根目录(Podfile 所在的位置)在终端中运行: pod update
- 启动 Xcode(按 Shift + Cmd + K 以防万一)
- 尝试构建项目
完成所有这些之后,我的项目导航器现在看起来像这样。
正如你所看到的,我丢失了很多东西,包括 pod 文件等。正如怀疑的那样,我的应用程序现在受到了致命的伤害。
我的桥接头是红色的,Restkit.h 是红色的,并且所有 pod 引用都消失了。
我在 Finder 中的项目根目录有 Pods 文件夹和 pod 文件等,但是如果我尝试将文件夹从 Finder 拖到项目中,它们不会像以前那样显示 - 例如,文件夹是蓝色而不是黄色。
我在 Xcode 8.1 和 Cocoapods 1.1.1 上。
如何恢复我的应用程序?
编辑:如果有帮助,这里是我 1 月份未解决问题的链接,这是我迄今为止最后一次敢于触摸 pod 文件。这种情况的后果和以前一样——不同的是,一月份我放弃了 2 周的工作,现在我正在考虑放弃 10 个月的工作。
播客文件:
pod 'RestKit', '~> 0.24.0'
pod 'SimpleKeychain'
pod 'AWSS3'
pod 'VideoCore'
pod 'SDWebImage', '~>3.7'
pod 'SVPullToRefresh'
pod 'PubNub', '~> 3.7.11'
pod 'MZFormSheetController'
终端中 pod 更新的结果:
更新所有 pod 更新本地规范存储库 执行深度获取规范存储库master
以提高未来性能警告:由于文件过多,已跳过不精确的重命名检测。CocoaPods 1.2.0.beta.1 可用。更新使用:sudo gem install cocoapods --pre
[!] 这是一个我们希望您尝试的测试版本。有关更多信息,请参阅https://blog.cocoapods.org和此版本的更改日志https://github.com/CocoaPods/CocoaPods/releases/tag/1.2.0.beta.1
分析依赖关系 [!] 依赖关系RestKit (~> 0.24.0)
不用于任何具体目标。SimpleKeychain
在任何具体目标中都没有使用依赖项。AWSS3
在任何具体目标中都没有使用依赖项。VideoCore
在任何具体目标中都没有使用依赖项。SDWebImage (~> 3.7)
在任何具体目标中都没有使用依赖项。SVPullToRefresh
在任何具体目标中都没有使用依赖项。PubNub (~> 3.7.11)
在任何具体目标中都没有使用依赖项。MZFormSheetController
在任何具体目标中都没有使用依赖项。