升级到 Xcode 8 并将语法从 swift 2.3 转换为 swift 3.0 后文件丢失警告

Posted

技术标签:

【中文标题】升级到 Xcode 8 并将语法从 swift 2.3 转换为 swift 3.0 后文件丢失警告【英文标题】:Files missing warning after upgrading to Xcode 8 and converting syntax from swift 2.3 to swift 3.0 【发布时间】:2016-09-16 18:57:19 【问题描述】:

我从Xcode 7.3 升级到Xcode 8.0,并从swift 2.3 to swift 3.0 更改了语法。我能够构建项目并运行良好,但我收到了一些关于我在 Assets.xcassets. 中使用的图像的 233 条警告

我意识到路径是错误的,因为我将项目名称从projectA to projectB 更改为路径是指一个无效路径,即

/Users/name/Desktop/projectA/projectB/Assets.xcassets/Images/img_01.imageset/img_01@2x.png is missing from working copy

我相信我必须从我的sourcecontrol 中删除这些文件的名称,因为它们不再有效。我已提交所有更改,但不知道如何删除这些丢失的文件链接以消除这些警告。

【问题讨论】:

【参考方案1】:

经过大量研究,我能够解决这个问题。

我去了projectB.xcodeproject > Show package contents > project.pbxproj > xcuserdata。删除 xcuserdata。

那就去Source Control > Commit 提交所有更改。由于路径不存在,Xcode 不会提交更改;所以只需取消它并执行

Source Control > Refresh Status

然后退出 Xcode 并重新启动它。

【讨论】:

【参考方案2】:

启动终端,进入项目目录,调用:

git commit -a -m "some hints"

重新启动 XCode 后,该消息应该消失了。我认为 XCode 在没有 -a 选项的情况下调用 git commit

【讨论】:

【参考方案3】:

唯一对我有用的是打开 .xcodeproj,然后打开 Option 键(在键盘上)+(产品(顶部菜单)-> Clean Build Folder)

注意。即使你使用 cocoapods 并且通常使用 .xcworkspace 打开项目,你仍然需要使用 .xcodeproj 执行上述操作

【讨论】:

这对我来说效果很好。另外,我不知道您可以选择在主菜单下显示更多项目。谢谢!【参考方案4】:

在您的 XCode 项目文件夹中写入“git add ”。然后提交。如果你删除了一些项目,你应该使用“git add -u”。然后再次提交。 这对我有用!

【讨论】:

【参考方案5】:

如果您使用的是 CocoaPods,您可能还需要按照 learner122 在项目 Pods 目录中所说的操作。

【讨论】:

【参考方案6】:

与上面的海报几乎相同,但我不必删除 XCuserdata 文件:

    提交对话 手动选择了丢失/无法识别的 Swift 文件 点击提交文件 和“刷新状态”

错误消息消失了。都很好。

【讨论】:

以上是关于升级到 Xcode 8 并将语法从 swift 2.3 转换为 swift 3.0 后文件丢失警告的主要内容,如果未能解决你的问题,请参考以下文章

将 Xcode 7.3.1 项目升级到 Xcode 8.0

Xcode 8.0 新特性 & Swift 3.0 增加的变动

Alamofire 库 request.swift 文件中发生错误 - 更新到 xcode 8.1 后“任务使用不明确”

使用 Swift 3 Xcode 8 加载时缺少自定义 XIB

升级到 Xcode 8 后我的游戏停止工作

Swift 3:发送到实例 Xcode 8 的无法识别的选择器 [重复]