繁体   English   中英

CGRectMake中的XCode'Build for Archive'巨大错误

[英]XCode 'Build for Archive' HUGE errors in CGRectMake

我只是在构建我的Cocoa应用程序,以便在Mac应用程序商店中分发,但这是我第一次使用“构建并存档”。 现在,对于我所有的cgrectmake ,它给我一个构建错误,说:

error: incompatible type for argument 1 of 'setFrame:'

始终受影响的代码是:

image.frame = cgrectmake(x, y, width, height);

这是在正常调试中发生的。 到底是怎么回事?

顺便说一下,我正在使用XCode 4,如果有区别的话

假设您正在构建Mac App Store(如您所说),那么您正在使用NSImageView。 您的问题是NSImageView使用NSRect设置框架,可以使用NSMakeRect(CGFloat x, CGFloat y, CGFloat w, CGFloat h)创建框架。

确保正确拼写CGRectMake Objective-C区分大小写,因此cgrectmake是一个错误的函数名称。

另外,如果您要构建32位(我假设您将使用发布版本),则CG类型与那里的NS对应类型不同。 AppKit使用NSRect类的类型,该类型在64位上定义为CGRect ,但默认情况下在32位上定义为CGRect 在导入Cocoa.h之前,请在前缀标头中定义NS_BUILD_32_LIKE_64 ,以使NSRect即使在32位体系结构上也被定义为CGRect

定义一个宏有其他后果,特别是有关的定义NSIntegerNSUInteger 在上载到App Store之前,请执行其他测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM