Я работаю на старом Mac. У меня нет доступа к новым Mac с Xcode 3.1, но я хочу убедиться, что мой исходный код будет работать на них. До сих пор это было довольно легко, все, что мне нужно сделать, это игнорировать что-либо с «устарелым» рядом с его именем, но переход от NIB к XIB приводит меня в замешательство. То, что я прочитал, по-видимому, подразумевает, что XIB компилируются в NIB во время сборки Release, но, возможно, они не во время сборки Debug.
Что это будет делать в Xcode 3.1?
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSApplication sharedApplication];
[NSBundle loadNibNamed:@"MainMenu" owner: NSApp];
[[NSApp mainMenu] removeItem: [[NSApp mainMenu]itemWithTitle: @"File"]];
[pool release];
[NSApp run];
return NSApplicationMain(argc, (const char **) argv);
}
Ошибка в отладке, потому что MainMenu.nib не существует? Или XIB превращаются в NIB каждый раз, когда приложение компилируется, и мне не нужно беспокоиться об этом?