CodeSense 在导入框架时并不总是有效

Posted

技术标签:

【中文标题】CodeSense 在导入框架时并不总是有效【英文标题】:CodeSense doesn't always work when importing Frameworks 【发布时间】:2012-01-31 01:29:11 【问题描述】:

当我使用 Xcode 3.2 并添加现有框架时,当我键入 #import < 时,代码感知会检测到框架名称。

比如说我添加了框架“MediaPlayer”。然后我输入 #import <Me 代码感会提示我 #import <MediaPlayer/MediaPlayer.h>

现在我使用的是 Xcode 4.2.1,我注意到这种代码感觉对于某些框架来说并不是那么好。 (例如“CoreAudio”可以成功推荐,但“MediaPlayer”和“CoreMotion”不能)。

Xcode 有什么问题还是我遗漏了一些设置,所以代码感知没有检测到这些框架?

于 2012 年 2 月 27 日编辑:这在 Xcode 4.3 中得到确认解决

于 2012 年 3 月 7 日编辑:我认为它已在 Xcode 4.3 中修复。但奇怪的是,它有时有效,有时无效。

于 2012 年 8 月 3 日编辑:这在 Xcode 4.4 中得到确认解决

【问题讨论】:

我也注意到了这一点。似乎 Xcode 只索引 OS X 框架文件夹。因此,共享的框架,如 CoreAudio 或 Foundation,会自动完成。但它也错误地为 Quartz 和 Webkit 等仅限 Mac 的框架自动完成。 感谢 Wekwa。这让我觉得可能在某个地方有一个设置,可以让我们定义 ios-only 框架的位置,以便代码感知可以检测到框架名称。 已向 Apple 报告,以下是回复:这是对 Bug ID# 10770620 的后续处理。经过进一步调查,已确定这是一个已知问题,目前正在由工程部门进行调查。此问题已在我们的错误数据库中以原始错误 ID# 7407222 提交。 【参考方案1】:

同样的问题我多次面临.. 我找到了一种解决方案...但无法找到其背后的原因...

在 xcode 4.4 及以上版本中它完美运行.. 但是,如果您遇到此类问题或遇到诸如...之类的错误 #import <MediaPlayer/MediaPlayer.h> ----Not found file 清理您的项目 - 重建它或重新打开您的 xcode 窗口.. 我相信它会完美运行..

【讨论】:

以上是关于CodeSense 在导入框架时并不总是有效的主要内容,如果未能解决你的问题,请参考以下文章

为啥 QSplashscreen 并不总是有效?

为啥 JavaScript Intellisense 在 Visual Studio 2012 中并不总是有效?

Click() 方法并不总是有效

为啥通用兄弟组合器并不总是有效?

IE、XDomainRequest 并不总是有效

Angular:使用 $window.history.back() 在 iOS 上并不总是有效