Как устранить неполадки, когда расширение Safari не отображается в настройках Safari? - PullRequest
0 голосов
/ 13 декабря 2018

Я разрабатываю расширение приложения Safari.Раньше все работало нормально.Когда я запускаю проект в Xcode и включаю Разрешить неподписанные расширения в Safari, я вижу свое расширение на странице Настройки Safari -> Расширения .

После того, как я слил код с одним из членов моей команды, внезапно Расширение не может быть установлено.

Я попытался:

  • Очистить папку сборки в Xcode,и беги снова.Но не повезло.
  • Перезапуск Xcode тоже не помогает.
  • Используйте команду pluginkit -mAvvv -p com.apple.Safari.extension, чтобы проверить список установленных расширений Safari.Моего расширения нет в списке.

В выводе Xcode есть некоторые ошибки, но я не могу связать их с проблемой, с которой я сталкиваюсь:

objc[49476]: Class AMSupportURLConnectionDelegate is implemented in both /System/Library/PrivateFrameworks/EmbeddedOSInstall.framework/Versions/A/EmbeddedOSInstall (0x7fff9a2aa748) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x108db2600). One of the two will be used. Which one is undefined.
objc[49476]: Class AMSupportURLSession is implemented in both /System/Library/PrivateFrameworks/OSPersonalization.framework/Versions/A/OSPersonalization (0x7fff9b5d49f0) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x108db2650). One of the two will be used. Which one is undefined.
2018-12-13 16:25:46.003099+0800 Safari[49476:1264277] Could not connect action, target class SecurityPreferences does not respond to -toggleJavaScriptCanOpenWindows:
2018-12-13 16:25:46.163130+0800 Safari[49476:1264277] AssertMacros: 0 (value = 0x0),  file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/BiometricKit/BiometricKit-75.71.1/BiometricKit/BiometricKitXPCClient.m, line: 75
2018-12-13 16:25:46.163219+0800 Safari[49476:1264277] AssertMacros: 0 (value = 0x0),  file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/BiometricKit/BiometricKit-75.71.1/BiometricKit/BiometricKitXPCClient.m, line: 396
2018-12-13 16:25:46.163465+0800 Safari[49476:1264277] [Framework-Internal-Legacy] AssertMacros: _xpcClient (value = 0x0),  file: /BuildRoot/Library/Caches/com.apple.xbs/Sources/BiometricKit/BiometricKit-75.71.1/BiometricKit/BiometricKit.m, line: 137
2018-12-13 16:25:47.060959+0800 Safari[49476:1264368] [RemotePlistController] The downloaded plist could not be loaded: Error Domain=NSCocoaErrorDomain Code=260 "The file couldn’t be opened because it doesn’t exist."
2018-12-13 16:25:47.128105+0800 Safari[49476:1264277] Scheduling the NSURLConnection loader is no longer supported.
2018-12-13 16:25:47.491811+0800 Safari[49476:1264370] NSURLConnection finished with error - code -1100
2018-12-13 16:25:47.799590+0800 Safari[49476:1264514] [CloudBookmarks] Error fetching remote migration state: Error Domain=com.apple.SafariBookmarksSync.CloudBookmarksErrorDomain Code=0 "(null)"
2018-12-13 16:25:47.953259+0800 Safari[49476:1264277] [WebKit2Callbacks] Page (pid: 0) did become unresponsive
2018-12-13 16:25:47.970927+0800 Safari[49476:1264512] NSURLConnection finished with error - code -1100
2018-12-13 16:25:48.032647+0800 Safari[49476:1264425] [RemotePlistController] The downloaded plist could not be loaded: Error Domain=NSCocoaErrorDomain Code=260 "The file couldn’t be opened because it doesn’t exist."
2018-12-13 16:25:48.125530+0800 Safari[49476:1264426] Calling IOPPFGetProperty simulator_utility_clamp!
2018-12-13 16:25:48.840769+0800 Safari[49476:1264277] [WebKit2Callbacks] Page (pid: 49481) did become responsive

СейчасУ меня заканчиваются варианты.На сайте разработчика Apple отсутствует официальная документация.

Существуют ли регулярные действия по устранению подобных проблем?Существуют ли какие-либо системные журналы, которые могут помочь мне устранить ошибку?Любое предложение приветствуется.

1 Ответ

0 голосов
/ 17 июня 2019

Проверьте, действительна ли подпись кода вашего приложения.В противном случае Safari откажется указать ваше расширение.Запустите codesign в своем встроенном приложении следующим образом:

codesign -d --verify --verbose=3 ~/Library/Developer/Xcode/DerivedData/OnePassword-epeydspviethpabprcrsqenrkiin/Build/Products/Debug_WebStore/1Password\ 7.app

Должно отобразиться valid on disk и satisfies its Designated Requirement.Если этого не произойдет, Safari полностью проигнорирует ваше расширение, даже если Allow Unsigned Extensions включено.

...