Позвольте мне предварить это, сказав, что я очень необработанный разработчик iPhone.
Я создаю статическую библиотеку, которую можно использовать в приложениях для iPhone. Это должно показать представление, но статические библиотеки, насколько я понимаю, не могут включать nibs (или xibs, в моем случае). Итак, я создал отдельный пакет, содержащий XIB, который мне нужен. Затем я включаю пакет вместе со статической библиотекой в приложение. Я хочу инициализировать класс, который расширяет UIViewController
, используя рассматриваемый xib.
В моей библиотеке есть следующий код:
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"Mobtest" ofType:@"bundle"];
NSBundle *mobtestBundle = [NSBundle bundleWithPath:bundlePath];
NSLog([@"bundle path: " stringByAppendingString: [[NSBundle bundleWithPath:bundlePath] bundlePath]]);
sharedInstance = [[MTFeedbackViewController alloc] initWithNibName:@"MTFeedbackViewController" bundle:mobtestBundle];
Путь к пакету, выведенный NSLog
, является правильным путем для пакета в скомпилированном приложении. К сожалению, я не могу инициализировать UIViewController
и вместо этого получаю следующую ошибку:
2010-08-20 22:08:16.102 MobtestLibSampleApp[2332:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] was unable to load a nib named "MTFeedbackViewController"'
У кого-нибудь есть предложения, почему xib не может быть загружен? Возможно, что-то в этом связано неправильно? Есть ли место, где я могу получить дополнительную информацию об отладке?