簡體   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