未知类型名称'CGVector';您指的是 'CIVector' 吗?

Posted

技术标签:

【中文标题】未知类型名称\'CGVector\';您指的是 \'CIVector\' 吗?【英文标题】:Unknown type name 'CGVector'; did you mean 'CIVector'?未知类型名称'CGVector';您指的是 'CIVector' 吗? 【发布时间】:2013-09-28 19:48:27 【问题描述】:

我在一个项目中工作,我从上一个 Xcode 4 版本开始,当我打开并尝试使用新的 Xcode 5 运行它时,我在 UIPushBehavior.h 和 UIGravityBehavior.h 中都遇到了这个错误。

/Applications/xcode 4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPushBehavior.h:34 :34: 未知类型名称“CGVector”;你的意思是“CIVector”吗?

并且不编译我的项目。

任何关于如何解决此问题的想法将不胜感激。

【问题讨论】:

我这里也有同样的问题。你说它适用于 ios 7.0 目标。至于我,它适用于 6.1,但不适用于 7.0。你能提供更多细节吗?您使用的是哪个 UIKit 框架版本(6.1 / 7.0)?您的项目中有一些导入吗?等等 TY 我将我的项目作为 4.6.3 XCode 项目开始,它完美地编译到 XCode 5 5A1412 Build(GM 版本),但在 5A1413(最新版本)上它停止工作。问题取决于在我的项目中我有 Header Search Path 和 Library Search Path 指向项目目录的事实,我相信这会导致项目使用旧的(6.1)版本的 UIKit。在我的情况下,我通过将标题搜索路径更改为 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include 来解决问题。希望这会有所帮助 好的,我试过了,但还是不行。我重新创建了一个新项目,它现在正在运行。 TY ;) 【参考方案1】:

好吧,我修复了错误。问题依赖于标题搜索路径和库搜索路径都指向项目目录,因此项目使用的 UIKit 是旧的。

在我的情况下,我通过将标题搜索路径更改为: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/u‌​sr/include.

并让库搜索路径指向我的项目文件夹:

$(SRCROOT)/project_name

一个棘手的问题,因为它在 XCode 5 5A1413 之前的任何版本中编译。

希望这对其他人有帮助。

【讨论】:

【参考方案2】:

CGVector is part of CGGeometry.

要解决您的问题,请确保 ApplicationServices 框架包含在您的项目中,并且在 .m 文件的顶部还包含“#import <CoreGraphics/CGGeometry.h>”。

哦,仔细查看文档,我发现 CGVector 在 iOS 7 及更高版本中可用。这意味着如果在您使用 Xcode 5 之前有其他东西定义它,您的项目中可能有一个冲突类型。

【讨论】:

ApplicationServices 框架仅适用于 MacOS 而不是 iOS 你说得对...我正在查看 developer.apple.com 上的 iOS 文档,它错误地将我指向 ApplicationServices 框架。我已经解决了。你能解决你的问题吗? 是的,它看起来更像是一个错误,因为我得到的错误位于 UIKit 框架的 UIPushBehavior.h 中。当我试图找出问题时,我使用 iOS 7 部署目标而不是 6.1 运行应用程序,这似乎解决了错误。谢谢

以上是关于未知类型名称'CGVector';您指的是 'CIVector' 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft.Bot.Connector - 收件人地址指的是未知的

如何找到连接到iphone的充电器类型?

多态:多态指的是编译时类型变化,而运行时类型不变

GitHub 十大 CI 工具

如何在 Azure 存储位置创建子容器

反射的认识