2011-03-02 102 views
0

我的OSX程序在調試模式下工作得非常好。我想「編譯和存檔」它的發佈,但我有很多錯誤,只是出現在這種模式。Cocoa Mac OSX:在調試模式下沒有錯誤,但在發佈模式下有很多錯誤...幫助!

例如:

NSButton *showMenuButton = [[NSButton alloc] initWithFrame:CGRectMake(10,10,10,10)]; 

給出:

錯誤:不兼容的類型爲的參數1 'initWithFrame:方法'

我的大部分誤差修改的被鏈接到initWithFrame方法不同類別(NSView, NSImageView...

你知道什麼是ori杜松子酒這個問題?

非常感謝!

+4

這篇文章的建議是將'CGRectMake'改成'NSMakeRect' http://code.google.com/p/core-plot/issues/detail?id=47。試一試。 – Mahesh 2011-03-03 00:04:11

+1

@Mahesh你應該做出答案,而不是評論。您不能接受您的評論。 – ughoavgfhw 2011-03-03 00:45:30

+0

@ user395869 @ughoavgfhw引用了建議作爲答案。我不知道它是否會起作用,因爲我沒有測試它。很高興,如果它幫助你。 – Mahesh 2011-03-03 04:48:52

回答

2

對於CorePlot中的這類問題,打開一張票。然而,它被標記爲固定與此修改,但我怎麼沒有找到一個永久的解決方案。

變化CGRectMakeNSMakeRect根據本CorePlot Issue Post。希望它有幫助:)

+0

謝謝,它完美的工作!我也用NSPoint替換了所有的CGPoint,用NSPointMake替換了所有的CGMakePoint,以消除所有的錯誤。 – 2011-03-03 10:56:54

0

確保您在任何需要的位置導入CoreGraphics標頭。

如果您將它導入到您的前綴頭文件中(因爲我建議您使用您導入的所有系統框架頭文件),請確保在兩種配置中都設置了該構建設置並設置爲正確的文件在您設定的項目或目標中。你怎麼可能有錯

例子:

  • 您的前綴頭中的目標設定,但僅在調試,所以在發行,它繼承了從項目的(錯誤的)值。
  • 您在兩種配置中都將其設置在目標中,但設置爲不同的值。
  • 您已將它設置在項目中,但僅在調試中設置,因此在發佈中,它使用(不正確的)默認值。
  • 您在項目中將它設置爲兩種配置,但設置爲不同的值。
+0

非常感謝您的回答彼得。我使用了Mahesh給出的解決方案。也許你的解決方案的工作原理,但只有當iOS應用程序出現問題,因爲CoreGraphics框架在Mac OS上不存在,據我所知。 – 2011-03-03 11:00:21

+0

@ user395869:Core Graphics是在Mac OS X中引入的,所以它一直存在於Mac OS X. – 2011-03-03 19:48:10

相關問題