5

当我尝试使用 XCode 打开特定项目时,它会挂起。当它挂起时,它显示以下屏幕:图片

其他项目可以正常打开,虽然挂起的项目也可以打开,这意味着我无能为力。我的 CPU 正在全速运行(风扇开始运转),我必须退出多个名为“Interface Builder Cocoa Touch Tool”的进程。

我试过了...

  • rm -rf ~/Libraries/Autosave Information
  • rm -rf /Users/scott/Library/Developer/Xcode/DerivedData/*
  • rm -rf ~/Developer/XCode/UROPv6/UROPv6.xcodeproj/xcuserdata
  • rm -rf ~/Library/caches/com.apple.dt.Xcode
  • 重新安装 XCode。

我无法打开 XCode 首选项 - UROPv6(挂起的项目)总是打开,所以所有这些选项都被抛出了窗口。

挂起的应用程序是一个 iOS 项目。我看过这篇博文,但我正在使用*.storyboard,而不是*.xib

由于上述方法都不起作用,我认为我的项目中有一些文件导致了这种情况。如何打开项目?

有关 XCode 崩溃时的完整错误日志,请参阅此要点

4

4 回答 4

7

rm -rf ~/Developer/XCode/UROPv6/Reconstruct.xcodeproj/project.xcworkspace/xcuserdata工作。当我尝试运行git checkout 0ea13d时,它说'错误:

Your local changes to the following files would be overwritten by checkout:
Reconstruct.xcodeproj/project.xcworkspace/xcuserdata/scott.xcuserdatad/UserInterfaceState.xcuserstate
Please, commit your changes or stash them before you can switch branches.
Aborting`

所以我删除了那个文件夹,现在它可以工作了。

于 2013-05-20T13:55:10.083 回答
1

Scott,您可能会考虑使用更全面的 .gitignore 文件。在大多数情况下,git 可以(应该?)忽略 xcuserdata 文件夹。

这是您可以开始的示例 .gitignore 文件,它将排除大多数不需要在存档中的内容,其中一些可能会不时导致奇怪的问题,或者仅占用存档中的空间没有贡献任何价值。此示例包含许多来自 Xcode 及其祖先的较旧的控制文件,直到有一天您从根深蒂固的项目中导入类、库或框架时,您可能认为您不会遇到这些文件。

几年前,我把它放在一起并在博客上分享(A better sample .gitignore for Xcode iOS and OSX projects),基于这样的理念,“如果它是任何类型的临时文件,如果它通常不应该在存档中(例如 Sparkle 私钥),或者如果根本不需要它(例如各种中间构建产品),则将其排除在外”。

如果你不喜欢这个,就环顾四周,找到一个你喜欢的。现在,整个网络都有它的衍生物(包括一个很酷的实现为 Xcode 脚本,可以在您喜欢的任何目录中创建文件),以及其他具有不同(极简主义)哲学方法的衍生物,还有一些具有更详细的评论.

您可以将 .gitignore 文件放在任何 git 存档的顶层并签入,以强制所有团队成员忽略。您也可以将它作为自己的全局忽略文件放在系统上,以防您创建项目并忘记在初始提交之前添加忽略文件。

链接:如何制作一个全局 .gitignore 文件

Xcode iOS 和 OSX 的示例 .gitignore 文件

# Mac OS X Finder and whatnot 
.DS_Store
.Trashes

# Sparkle distribution Private Key
dsa_priv.pem

# Xcode (and ancestors) per-user config 
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser

#  Whitelist the Xcode defaults
!default.mode1
!default.mode1v3
!default.mode2v3
!default.perspective
!default.perspectivev3
!default.pbxuser

# Xcode 4 - Deprecated classes
*.moved-aside

# Generated files
VersionX-revision.h

# build products 
xcuserdata/
DerivedData/
build/
*.[oa]

# Other source repository archive directories 
.hg
.svn
CVS

# automatic backup files
*~.nib
*.swp
*.lock
*~
*(Autosaved).rtfd/
Backup[ ]of[ ]*.pages/
Backup[ ]of[ ]*.key/
Backup[ ]of[ ]*.numbers/
于 2013-07-30T03:48:47.957 回答
0

我对 Xcode 6.1.1 也有类似的问题。我尝试了上述所有解决方案以及在网上找到的其他一些解决方案,但均无济于事。我终于求助于二分搜索,让事情重新开始了。

  1. 备份您的 Xcode 项目。
  2. 打开 Xcode 项目包(在 Finder 中,右键单击并选择Show Package Contents)。
  3. 在文本编辑器中打开 project.pbxproj 并检查PBXFileReference部分。
  4. 删除列表中的一半项目,注意同时从下面的PBXGroup部分中删除相应的项目。保存文件并在 Xcode 中打开项目。继续迭代,直到找到有问题的项目。例如,如果 Xcode 仍然挂起,请恢复备份并删除另一半项目并重试。

在我的情况下,问题是一个符号链接的文件夹。

于 2015-02-23T06:53:04.960 回答
0

我的案例非常具体,但它可能会为处于相同情况的人节省一些时间。

我有 Xcode 11.2.1,我有 Realm 作为我的数据库,我还使用 Realm Browser 来查看/控制数据。

Realm Browser 在打开 Realm 文件后会创建一些文件夹和隐藏文件: content.realm.management 和 content.realm.lock 如果我将它们留在那里,由于某种原因,Xcode 会卡住。我通过在 Realm Browser 每次创建这些文件时删除这些文件来解决问题。

于 2020-04-17T08:47:12.937 回答