3

Safari アプリの拡張機能を 2 回目に実行すると、Safari に表示されないという奇妙な問題が発生しています。

  1. Xcode を開きます。
  2. 新規 > プロジェクト。
  3. [その他] で、[Safari 拡張アプリ] を選択し、[次へ] をクリックします。
  4. この「商品名」画面に好きなように入力し、「次へ」をクリックします。
  5. 「作成」をクリックします。
  6. Xcode の左上にある再生アイコンをクリックして、プロジェクトを実行します。
  7. 下部に「Safari拡張機能設定で開く」というテキストが表示された単一のボタンがある小さなアプリが開きます。
  8. おそらく現れないでしょう。その場合は、10 にスキップします。
  9. Safari のタイトル メニューで [開発] に移動し、[署名されていない拡張機能を許可する] をクリックします。
  10. 表示されたら、チェックボックスをオンにして有効にします。
  11. 左上の停止アイコンをクリックして、Xcode の実行を停止します。
  12. SFSafariWebsiteAccess.Level「一部」から「すべて」に変更するなど、プラグインの Info.plist の値を変更します。
  13. Xcode で再生アイコンをクリックします。
  14. Safari は、拡張機能のアクセス許可が変更されたことを通知します。これらの変更を承認すると、拡張機能は表示されなくなります。

他の値を変更しても同じことが起こります。拡張コードと設定を完全に変更しないままにしておくと、問題は発生しません。しかし、値を変更するとすぐに、それらの設定を元に戻しても完全に壊れます。

これは、最新の Xcode を使用した 10.13 と 10.14 の 2 つの異なる Mac で発生します。

4

3 に答える 3

0

のスキームを編集し、_____extension.appexその実行可能ファイルを に設定できますSafari.app。これにより、(ラッパーではなく) 拡張機能をビルド/実行するたびに、Safari の新しいインスタンスが開きます。これにより、Xcode コンソールにも拡張機能からの出力が表示されます。ただし注意してください。Safari がクラッシュすると、開いていたすべてのタブが失われる危険性があります。この方法では、ビルド フォルダーを消去する (または Finder でファイルを手動で削除する) 必要はありません。

于 2019-12-06T09:45:25.270 に答える