Один из наших пользователей в OS X 10.7.2 получает следующий сбой, когда я пытаюсь открыть URL:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 0xff00e000 0 + 4278247424
1 com.apple.AppKit 0x97c750eb -[NSWorkspace openURL:] + 111
2 com.OurApp 0x0027787b 0x1000 + 2582651
etc etc
Используемый URL-адрес является совершенно нормальным "http://www.whatever.com/somepage" URL-адресом, и я предварительно проверил его правильность (правильный URL-адрес, а не ноль, не мусор), отобразив его в окне сообщения непосредственно перед вызовом openURL. Он получает аналогичную ошибку при попытке открыть файл .htm:
0 ??? 0xff00e000 0 + 4278247424
1 com.apple.AppKit 0x97c6c366 -[NSWorkspace openFile:withApplication:andDeactivate:] + 71
etc etc
Опять же, я проверил, что имя файла правильное (а не ноль, не мусор и т. Д.). Другие пользователи не сталкиваются с этой проблемой.
Как я могу помочь сузить, что здесь происходит? Все, о чем я могу думать, - это то, что какая-то часть его ОС не работает должным образом, но он может правильно открывать веб-страницы из меню справки iTunes, поэтому, по крайней мере, иногда это работает ...
Редактировать: код для открытия URL-адреса - открываемый URL-адрес передается как NSString * url_nsstring:
NSURL * url = [NSURL URLWithString:url_nsstring];
return [[NSWorkspace sharedWorkspace] openURL:url];
Я проверил, что URL-адрес правильно преобразован из строки, показав окно сообщения с «[url description]» между двумя строками здесь. Даже если это не так, конечно, это не должно произойти сбой, когда я пытаюсь позвонить ...
Пользователь использует Safari.