2010-11-18 5 views
0

Я развиваюсь на более старом Mac. У меня нет доступа к более новым компьютерам Mac с Xcode 3.1, но я хочу убедиться, что мой исходный код будет работать на них. До сих пор было довольно легко, все, что мне нужно сделать, это игнорировать что-либо с «устаревшим» рядом с его именем, но изменение с NIB на XIB вызывает отвращение. То, что я прочитал, похоже, подразумевает, что XIBs скомпилированы в NIB во время сборки Release, но, возможно, они не во время сборки Debug.Как [NSBundle loadNibNamed: owner:] работает в Xcode 3.1?

Что бы это сделало в 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 не существует? Или XIBs превращаются в NIB каждый раз, когда приложение компилируется, время, и мне не нужно беспокоиться об этом?

+0

Он работает так же, как и в любой другой среде разработки. Это метод Cocoa, а не функция Xcode IDE. Какао, в конечном счете, является частью операционной системы, поэтому, о какой версии ОС вы спрашиваете? –

ответ

1

XIB всегда скомпилированы в NIB для использования во время выполнения. XIB - это только формат хранения на основе XML. NIB, созданные путем компиляции XIB, не содержат информации, необходимой для редактирования файла NIB: XIB компилируется в только для чтения NIB. Это не влияет на то, как ваше приложение использует их вообще: насколько это известно, NIB - это NIB - это NIB.

+0

Отлично! Это действительно хорошо знать. Я все время видел, как люди говорят, что XIB будут скомпилированы в NIB во время «развертывания приложений», которые я взял, чтобы иметь значение «только во время релизов». Спасибо, что решил мой честный, довольно жалкий вопрос. – user512530

 Смежные вопросы

  • Нет связанных вопросов^_^