#macos #safari
#macos #safari
Вопрос:
Привет, я не могу установить свое расширение в safari из командной строки (OS X 10.5.8 Safari 5 )
В моем сценарии последующей установки для PackageMaker.app сначала я переношу свое расширение в «/tmp/ my-product /», а затем запускаю это $ sudo /Applications/Safari.app/Contents/macOS /safari /tmp/my-product/my-extension.safariextz
Это временно помещает расширение в safari, но при закрытии safari расширение исчезает.
Console.app показывает это в system.log
*12/07/10 12:45:22.158: 9387 [ ПРЕДУПРЕЖДЕНИЕ] Ошибка SQL: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.163: 9387 [ПРЕДУПРЕЖДЕНИЕ] ***** Ошибка SQL при открытии базы данных: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.219: 9387 [ПРЕДУПРЕЖДЕНИЕ] Ошибка SQL: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.219: 9387 [ПРЕДУПРЕЖДЕНИЕ] SQLite:: Исключение "SQLITE_CANTOPEN [14.0]: файл базы данных не найден", попавший в статическую пустоту PubSub:: ClientCore::openClientSession() 07.12.10 12:45: 22.219: 9387 [ПРЕДУПРЕЖДЕНИЕ] std:: исключение "St9exception", обнаруженное в PSClient * [PSClient clientForBundleIdentifier:](objc_object *, objc_selector *, NSString *) 07.12.10 12:45: 22.220: 9387 [ПРЕДУПРЕЖДЕНИЕ] Ошибка SQL: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.220: 9387 [ПРЕДУПРЕЖДЕНИЕ] ***** Ошибка SQL при открытии базы данных: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.276: 9387 [ПРЕДУПРЕЖДЕНИЕ] Ошибка SQL: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.276: 9387 [ПРЕДУПРЕЖДЕНИЕ] SQLite:: Исключение "SQLITE_CANTOPEN [14.0]: файл базы данных не найден", попавший в статическую пустоту PubSub:: ClientCore::openClientSession() 07.12.10 12:45: 22.276: 9387 [ПРЕДУПРЕЖДЕНИЕ] std:: исключение "St9exception", обнаруженное в PSClient * [PSClient clientForBundleIdentifier:](objc_object *, objc_selector *, NSString *) 2010-12-07 12:45: 22.276 Safari[9387: a0b] ПРЕДУПРЕЖДЕНИЕ: BookmarkedFeedsManager не удалось получить PSClient! 07.12.10 12:45: 22.278: 9387 [ПРЕДУПРЕЖДЕНИЕ] Ошибка SQL: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.278: 9387 [ПРЕДУПРЕЖДЕНИЕ] ***** Ошибка SQL при открытии базы данных: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.334: 9387 [ПРЕДУПРЕЖДЕНИЕ] Ошибка SQL: SQLITE_CANTOPEN [14.0]: файл базы данных не найден 07.12.10 12:45: 22.334: 9387 [ПРЕДУПРЕЖДЕНИЕ] SQLite:: Исключение "SQLITE_CANTOPEN [14.0]: файл базы данных не найден", обнаруженное в статической пустоте PubSub:: ClientCore::openClientSession() 07.12.10 12:45: 22.334: 9387 [ПРЕДУПРЕЖДЕНИЕ] std:: исключение "St9exception", обнаруженное в PSClient * [PSClient clientForBundleIdentifier:](objc_object *, objc_selector *, NSString *)*
Это проблема с разрешениями?
Я застрял здесь: (
Пожалуйста, предложите.
Заранее спасибо
С уважением
Parimal Das
Ответ №1:
Я полагаю, что часть проблемы заключается в том, что вы запускаете Safari от имени root. Для этого нет причин, и на самом деле это довольно небезопасно.
В идеале вы просто открываете расширение (с помощью open
или AppleScript, например), которое предлагает пользователю установить расширение. Однако, если вы пытаетесь выполнить автоматическую установку, это не очень помогает.
Если вы делаете это только для внутреннего развертывания и не возражаете, если оно выйдет из строя при обновлении Safari, то вы можете выйти из Safari, установить расширение в ~/Library/Safari/Extensions
и обновить ~/Library/Safari/Extensions/Extensions.plist
(формат довольно очевиден; /usr/libexec/PlistBuddy
полезен для таких вещей).