Xcode - «Панель настроек» проекта - как получить доступ к комплекту? - PullRequest
1 голос
/ 27 декабря 2010

Я создал проект «Панель настроек».В этом проекте я хотел бы загрузить изображение из папки ресурсов моих пакетов.Это кажется трудным, потому что «[NSBundle mainBundle]», кажется, возвращает следующее:

27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </Applications/System Preferences.app> (loaded)

Итерация по «[NSBundle allBundles]» показывает, что пакет моих проектов появляется, но не загружается:*

27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Mouse.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Sound.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Spotlight.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/TimeMachine.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </Library/PreferencePanes/DivX.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Trackpad.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/UniversalAccessPref.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Dock.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/DateAndTime.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Keyboard.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/MobileMe.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/FibreChannel.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Appearance.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/DigiHubDiscs.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Ink.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Security.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/EnergySaver.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Speech.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </Users/michael/Library/PreferencePanes/MyPrefPane.prefPane> (loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </Users/michael/Code/MyPrefPane/build/Debug/MyPrefPane.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/SharingPref.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Expose.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/SoftwareUpdate.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/ParentalControls.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/PrintAndFax.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Accounts.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Bluetooth.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Localization.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/StartupDisk.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Network.prefPane> (not yet loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </Applications/System Preferences.app> (loaded)
27/12/10 9:24:18 PM System Preferences[5076]    NSBundle </System/Library/PreferencePanes/Displays.prefPane> (not yet loaded)

Я не уверен, что здесь происходит.Как я могу получить доступ к своему префановому комплекту?

Ответы [ 3 ]

2 голосов
/ 27 декабря 2010

Вызов [self bundle] в вашем основном классе должен сделать это.

1 голос
/ 27 октября 2011

Я думаю, вы должны использовать "[NSBundle bundleForClass: [self class]];".

0 голосов
/ 24 марта 2015

Поздний ответ, но для людей, которые ищут полное решение.Если у вас в наборе prefPane есть ресурс изображения с именем red.png, вы можете загрузить ресурс, вызвав следующее:

NSImage *redIndicator = [[self bundle] imageForResource:@"red"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...