我试图将我的一个项目从纯粹的Objective-C转换为Swift,但是继续遇到Xcode的问题。使用任何Sprite Kit,Obj-C或Obj-C / Swift项目,一切都将成功进行索引,清理,构建和运行。但是当项目只包含.swift文件时,Xcode会挂起索引和构建,并且不会做任何其他事情。我尝试过禁用索引,修改DerivedData文件夹,甚至完全重新安装Xcode 6以及相关的库文件,但似乎没有任何效果。关于如何解决这个问题的任何想法?
答案 0 :(得分:11)
我已经跟踪了一些我正在使用的特定源代码(特别是数组中的元组),它们锁定了索引器。
除了避免在项目中使用该特定源代码外,似乎没有任何解决方法。
我向Apple提交了一个错误,雷达号为17241603。
答案 1 :(得分:4)
此错误与我们的项目状态和源代码有关。 我回滚了我的项目的一些提交,xcode成功索引我的项目。
在我的情况下,当我的项目声明了大字典时,xcode无法索引。 (我删除它后成功编制索引。)
答案 2 :(得分:4)
我遇到了同样的问题,在分析以下代码时我可以找到解决方案
func toDictionary() -> NSDictionary {
return [
"smartCoins" : smartCoins ?? 0,
"name" : name ?? "",
"birthDate" : birthDate ?? "",
"photo" : photo ?? "",
"gender" : gender ?? "",
"zoneId" : zoneId ?? "",
"cityId" : cityId ?? "",
"username" : username ?? "",
"id" : id,
"smartShopperIds" : smartShopperIds ?? [String](),
"followers" : followers ?? 0,
"voucherIds" : voucherIds ?? [String](),
"friend" : isFriend ?? false
]
}
事实证明??
运算符会增加编译时间。因此,当它被使用几次(一到三次)时,编译时间会增加但完成。但是,当有更多时,编译永远不会结束。
我希望这会有所帮助。
答案 3 :(得分:0)
您好我也遇到了同样的问题并解决了它。
转到产品 - >单击停止。直到你看到索引 停止。
它对我有用。如果你没有跑步,试着停止跑步尝试并告诉我,是否还有其他任何事情。
答案 4 :(得分:0)
没有选择,您需要手动转换它。到目前为止还没有自动转换。
答案 5 :(得分:0)
我遇到了与xcode 7永远编译相同的问题。我发现数组中map()的初始化导致了这个问题。我切换到手动使用append(),问题解决了。这是详细研究 http://applytech.me/blog/build-stuck-after-upgrading-from-xcode-6-to-xcode-7/ 希望它有所帮助
答案 6 :(得分:0)
XCode 8 beta 6为我挂起了Swift编译。原来是类层次结构中的循环引用。即我有类似的东西:
reduce
这是通过更复杂的层次结构重构而来的,我没有注意到。很明显,编译器没有检测到循环,并进入无限循环:(。