- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在构建任何使用未内置到核心中的任何框架(即某些第三方框架)的 Mac OS X 应用程序时,当我查看框架时,出现红色框架的问题似乎相当普遍在 XCode 4.5 中。
它可以在两个最常见的位置显示为红色,一个在项目导航器 Pane (左侧)中,另一个在构建阶段区域中。第三个位置,在复制文件区域,通常以红色显示。这三者都有不同的原因。
当所有三个地方都显示为红色时,它的样子如下:
给我们观察者的线索:红色部分后的一些灰色文本表明 XCode 可能错误地在 XCode.app 包中寻找有问题的框架。另请注意,显示的框架没有任何框架图标,上图中的无效框架仅显示一个占位符图标。
如果根本找不到框架,那么当我构建时,无法导入框架的头文件,因此会出现“词法或预处理器问题”。解决方法通常是修复框架搜索路径。然而,即使这似乎是正确的,我仍然经常得到红色框架。
有时,图标是红色的,但是,框架搜索路径工作得很好,编译工作正常(#import <Thingy/Thingy.h>
工作正常,我没有得到任何词法或预处理器问题),但项目不会链接或 运行时崩溃 ,因为框架在编译阶段被准确引用,而不是在链接或复制文件阶段。
下面是一个示例,说明如果 XCode 无法导入框架内的头文件,它会是什么样子:
这个问题应该是一般 ,并且对将来在框架列表中看到“红色”框架的任何人都有用。是的,我已经去供应商那里向供应商寻求关于他们框架的帮助,这应该是第一步。但是,我觉得“XCode 以红色显示框架”已经足够令人困惑了,因此它值得一个通用的有用答案,因此是这个问题。此外,我有理由相信,在这种情况下,供应商的安装程序工作得很好,这是我机器上的本地问题,其他人将来可能会遇到并且可能需要帮助理解和修复。
撕掉头发后,我发现我可以通过将显示为红色的框架复制到/Applications/Xcode.app/Contents/Developer/Library/Frameworks
中以非常糟糕的方式解决此问题。但这可能不是正确的方法。这样做似乎是错误的。如果我将位于/Developer/VendorName 中的框架复制到 xcode 应用程序包的库/框架中,我可以避免编译器找不到框架。
第三方框架目前会自动安装到 /Developer
下的文件夹中。以制作框架的公司命名。 XCode 是否应该自动搜索 /Developer
下的所有文件夹?并以某种方式定位这些框架?
目前我猜,那 不,它不能,所以 XCode 可能必须每次都准确地告诉 XCode 找到这个第三方框架的路径 .
我无法找到有关“Xcode 如何找到框架”的 Apple 文档。有问题here这只是问这个问题,但答案都涉及 GCC header 搜索路径,而不是 Xcode 如何找到框架并构建该搜索路径。
XCode 4.5 搜索哪些文件夹来定位库?是/Developer
即使 XCode 4.5 本身不再在 /Developer
中,文件夹仍在搜索中?
当要为 Mac OS X 客户端使用安装第三方框架时,应将其安装到何处,以及如何检查安装程序是否有效?是否有一些命令行调用可以列出 XCode 可见并安装在我的系统上的所有可用框架?
脚注:
第二种工作方式是使用“添加其他”按钮来查找不在已知位置的框架,如果我使用它,那么我经常会陷入一个已构建但在运行时仍然失败的项目中,因为复制文件功能不会查找和复制内容,因为使用加号按钮向复制阶段添加框架在 XCode 中似乎已损坏。不过有一个解决方法。我最初询问如何工作,以便您不需要使用添加其他,但是,如果添加其他是第三方框架的唯一途径,那么,我仍然遇到无法使用复制文件功能的问题。我相信解决这个问题的方法是 XCode 项目自己的框架搜索路径没有为我的系统正确设置,这就是我需要做的来修复这个特殊情况。简而言之,我想知道全局“框架搜索路径”是什么,它在哪里设置?还是只有 XCode 项目搜索路径,而不是全局框架搜索路径?如果我清理了Framework的搜索路径,然后使用Add Other添加新的framework,并小心的右键单击并从项目导航器 Pane 中删除所有红色项,如果我只使用鼠标拖放而不使用+ 按钮将框架添加到复制文件,然后我可以在私有(private)搜索路径位置获取一个框架来构建和复制。任何尝试使用 Copy Files 区域中的 + 按钮以及通过该对话框添加框架的尝试似乎都被某种奇怪的 XCode 错误阻止工作,因为它在错误的位置添加了框架,如第一张图片所示上面,它错误地记住或缓存了第三方框架应该位于 XCode.app 包内的 Developer/Library/Frameworks 文件夹中。
最佳答案
是的,这是个好问题。我一直想来就一个相关问题发表一篇文章:为包含编译的 momd 文件的静态库项目创建一个包,我只能通过使用包将库项目嵌套在项目下才能开始工作。也就是说,嵌套在 Xcode 中,在文件系统级别,它仍然显示为对等项。这与项目如何找到其他项目的产品有关。
同时,在您的具体问题上,我多年来在我完成的每个项目中都使用了 OCHamcrest,但除非我在项目中实际安装了框架文件,否则我一直无法让它可靠地工作。理想情况下,我希望将 OCHamcrest 安装在/Library/Developer/Frameworks 等位置之一,但尝试使这项工作非常痛苦,简直太疯狂了。
我已阅读有关 Xcode 在哪里查找框架的文档,它位于/Developer/Library/Frameworks 和/Library/Frameworks 中。如果你往里面看,你只会看到苹果的东西。另外,请记住/Developer 曾经是一个单独的目录,直到 Xcode 4,所以它看起来并不那么愚蠢。现在,如果您决定使用测试版,您将被搞砸。我很确定当 Xcode 4.5 更新自身时,虽然在应用程序中,它会复制框架。
我希望有人有更好的想法!
关于xcode - 在 XCode 4.5 中我的项目中显示为红色的框架故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463101/
我正在观看来自 iTunes U. 的视频讲座,其中讲师展示了如何使用 Xcode 的调试器部分并能够将该窗口从主窗口拉开。 不幸的是,视频显示了如何在 Xcode3 中执行此操作的说明。如何在 Xc
现在我正在开发一个使用 Markdown 的静态网站。我不想在 SublimeText 中编辑文件,而是想在 Xcode 中编辑它们。我可以在 Xcode 中打开各个文件,但我想打开整个静态站点目录并
现在我正在开发一个使用 Markdown 的静态网站。我不想在 SublimeText 中编辑文件,而是想在 Xcode 中编辑它们。我可以在 Xcode 中打开各个文件,但我想打开整个静态站点目录并
我真的厌倦了其他用户的项目错误,因为 XCode 的默认类引用类型是“相对于 XCode 文件夹”。我知道您可以将其更改为“相对于封闭组”,这就是我们的项目,但是任何时候有人创建一个新的类文件并且忘记
我对 Xcode 一无所知,除了它是来自 Apple 的开发人员界面,它实际上来自 OSX CD,它也用于创建 iPhone 应用程序。 我也知道它有一个 Applications 文件夹,里面装满了
更新 Xcode(从 7.2 到 7.2.1)后,XcodeServer 无法运行 Xcode Service。当我选择更新的 Xcode 时,提示消息:Enable Accessibility ac
我很难找到有关新 XCode 布局的信息。如何查看源文件的反汇编,而不仅仅是 C++ 代码? 最佳答案 在 Xcode 4.2(和 Xcode 5)中,您可以通过以下方式查看文件的汇编或反汇编: 显示
我在 XCode 中为我的项目添加了一个文件夹并将其命名为 Themes,它将用于存储我的 iPad 应用程序的主题。在那下面我有红色、蓝色等等。 它们出现在 XCode 中。但是当我查看物理文件夹时
作为我之前 How can I create a reference cycle using dispatchQueues? 的后续: 对于强引用(会造成泄漏,但不是循环引用),例如Timer、Dis
我有一台 macbook air,我去商店安装 Xcode 7.3 并点击更新 App 按钮,然后出现了一个加载图标,但等待 30 分钟后什么也没发生。我从商店成功安装了 simple recorde
我的项目现在有一个project.xcworkspace/xcshareddata目录。 Xcode在project.xcworkspace/xcshareddata目录中存储什么? 最佳答案 xcs
我不经常使用 XCode 进行开发,最近 MacPorts 告诉我我需要获得 3.1 才能使包工作。我去了苹果,他们为我提供了最新版本,结果只适用于 OSX 6。因为我有 OSX 5,它对我没有任何帮
有谁知道如何强制 Xcode 停止运行。我更新到 6.2 但现在它不能正常工作。我需要退出 Xcode 才能完成更新或卸载并重新安装。菜单中的相当 Xcode 不可用。无法将其拖到垃圾箱,因为它说它仍
我最近从我的项目中删除了一些旧的测试类并删除了文件。正如预期的那样,文件被移到垃圾箱并在 git 中显示为已删除。 不幸的是,测试类和它们定义的测试用例继续出现在测试导航器中。我已经尝试过常见的疑点,
Xcode 中的场景编辑器显示大小但不显示单位。它是以英寸为单位的尺寸还是以米为单位的尺寸? 例如,当我选择一个节点时,例如一个盒子,当我在节点检查器中检查它的属性并在“边界框”旁边的“变换”部分检查
只想知道 xcode 项目中事件可执行文件的目的是什么? 谢谢 索拉布 最佳答案 自己找到了..希望它会帮助某人。 您可以在其中运行和测试软件产品的可执行环境。可执行环境定义了应该用来运行产品的程序。
刚回到我的办公 table ,Xcode 一直在文件中突出显示/强调空白区域。如果我输入一些东西它就会消失,但如果我切换标签并回来,它们会重新出现。 更新:这不是由“显示隐形”选项引起的。那看起来不一
我首先注意到这一点 Cmd-/偶尔拒绝为注释取消注释的代码行工作。但是现在(刚刚使用 XCode 4.1,虽然这可能无关)它发生在 Cmd-B建立。 我无法弄清楚我正在做什么导致这种情况,或者是否有任
我不太了解Xcode 4的工作区的实用程序。它们的用途是什么,它们如何帮助Xcode进行开发? 最佳答案 例如。您有一个在两个应用程序中使用的库。您很可能为此库拥有一个自己的项目,对吗?现在,您可以自
我正在关注一个应用程序教程,它说: “接下来,在 Xcode 应用程序项目目录的根目录下创建一个空文件,并调用该文件 Podfile。使用您喜欢的文本编辑器打开它,然后在其中粘贴以下行:” 我很困惑这
我是一名优秀的程序员,十分优秀!