Я установил простой обработчик событий, как упомянуто here, но, похоже, селектор не вызывается. Я поместил код в свой класс AppDelegate и подключил делегат в IB. Попробовал поместить некоторые NSLog() s и точки останова в селекторе, который я ожидаю назвать, но ни один из них не попал. Схема URL работает, поскольку она запускает мое приложение, но после этого ничего не происходит. Может ли кто-нибудь посоветовать, как устранить эту проблему? Благодаря!Как устранить неполадки в моей настраиваемой схеме URL?
ответ
Ну, я не могу не заметить, что вы -init
метод неправильно объявлен. Если должен быть возвращен тип id
и иметь return self;
в конце.
- (id)init
{
self = [super init];
if (self) {
[[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
}
return self;
}
С этими исправлениями, я был в состоянии вставить эти две процедуры в классе тест AppController и он распечатать URL (с пользовательской схемы), которые я напечатал в Safari. Я бы поставил точку останова на этот метод -init и перешагнул его, чтобы абсолютно убедиться, что вызван метод -setEventHandler: метод.
Большой вопрос: где вы называете NSAppleEventManager -setEventHandler: ...? Вам нужно позвонить этому, прежде чем приложение завершит запуск, если вы хотите поймать URL-адрес, который запустил ваше приложение. Если ваш делегат приложения создан в вашем MainMenu.nib, то будут работать его методы -init или -awakeFromNib, но, например, -applicationDidFinishLaunching: не будет.
Кроме того, убедитесь, что селектор, который вы предоставляете -setEventHandler: точно так же, как имя вашего метода, уделяя особое внимание капитализации и правильному количеству двоеточий.
Очевидно, что если вы разместили соответствующий код делегата приложения, это было бы очень полезно.
Спасибо за предложения. Я дважды проверял эти вещи. Я уверен, что это ошибка новичков, но я был бы рад, если бы кто-нибудь посмотрел на код. (Биты URL хранятся в info.plist.) Сейчас я просто пытаюсь подтвердить, что он работает до того, как я попытаюсь что-то сделать с URL-адресом.
- (void)init{
self = [super init];
if(self){
[[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
}
}
- (void)getUrl:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
NSString *url = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
NSLog(url);
// now you can create an NSURL and grab the necessary parts
}
Я должен добавить, что я попытался перевести вызов метода на -awakeFromNib, но без радости. – jxpx777 2008-12-04 02:07:18
Ошибка новичка # 2: не задал класс моего делегата приложения в IB. Исправление этого и метода init, как указано выше, заставили меня идти. Grrr ...
- 1. Как устранить неполадки кэширования
- 2. Как устранить неполадки JS
- 3. Как устранить неполадки «Хадсон»?
- 4. Как устранить неполадки devtools
- 5. Как устранить неполадки TypeError?
- 6. Как устранить неполадки в «System.Management.Automation.CmdletInvocationException»
- 7. autohotkey «Отправить» устранить неполадки
- 8. java.lang.NoClassDefFoundError - Почему? Как устранить неполадки?
- 9. Как устранить неполадки приложения Silex?
- 10. Как устранить неполадки в фильтрах намерений Android?
- 11. Как устранить неполадки «Не удается загрузить DLL ...»?
- 12. Как устранить неполадки в Google Chrome Sync?
- 13. Как устранить неполадки в рабочих процессах SharePoint?
- 14. Устранить лямбда в схеме?
- 15. HTML-CSS таблицы устранить неполадки
- 16. Обновить схему из [System.Activities.DurableInstancing] в моей настраиваемой схеме
- 17. Ошибка при запуске MSpec - как устранить неполадки?
- 18. Ошибка 522 - Сервер перегружен? Как устранить неполадки?
- 19. Почему так дешево скачать? (как устранить неполадки?)
- 20. Цель C как устранить неполадки NSCoreDataOptimisticLockingException
- 21. Как устранить неполадки Kibana Time-Outs
- 22. Нити HikariCP не освобождаются - как устранить неполадки?
- 23. Как устранить неполадки с ответом на запрос запроса ААЗАОН S3?
- 24. CakePHP: Как я могу устранить неполадки в моем поведении?
- 25. Как устранить неполадки при работе с нулями в очереди?
- 26. Веб-приложение ASP.NET недоступно в Live Environment - Как устранить неполадки
- 27. Как устранить неполадки приложения CakePHP, застрявшего в цикле переадресации?
- 28. Как устранить неполадки веб-приложения в веб-ферме
- 29. Как устранить неполадки в IOS UIWebView DOM Exception 18?
- 30. Как отладить/устранить неполадки в событии, которое не срабатывает?
CRAP! Я знал, что это будет ошибка новичка. Благодаря... – jxpx777 2008-12-04 15:01:09