問題タブ [safari-app-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3094 参照

swift - Safari アプリ拡張機能の NSLog メッセージが Xcode のコンソールに表示されないのはなぜですか?

Safari App Extension を作成するための Apple のガイドに従っています。要するに、私は:

  • Cocoa アプリケーション テンプレートを使用して、新しい Xcode プロジェクトを作成しました (macOS 10.12 Sierra の Xcode 8.1 で)。
  • Safari 拡張機能テンプレートを使用して、アプリで新しいターゲットを作成しました
  • アプリを 1 回実行して、Safari アプリ拡張機能がビルドされていることを確認します。
  • Safari の [開発] メニューで [署名されていない拡張機能を許可する] オプションを選択した
  • Safari の [拡張機能] 設定ペインで拡張機能を有効にしました

拡張機能のツールバー ボタンが Safari に表示されます。Apple のガイドによると、ツールバー ボタンをクリックするとコンソールに NSLog メッセージが表示されるはずですが、何も表示されません。

SafariExtensionHandler.swift を編集して、拡張機能によって挿入されたスクリプトにメッセージを送信しました。

そして、挿入されたスクリプト (script.js) を編集して、そのメッセージを警告しました。

ツールバーのボタンをクリックすると (デフォルトの SFSafariWebsiteAccess 設定のままにしたので、webkit.org のページにいるときに) アラートが表示されるため、拡張機能が機能し、クリックが登録されます。しかし、Xcode のコンソールまたはコンソール アプリに NSLog が表示されません。

私は本当の Xcode の初心者なので、明らかな何かが欠けていると確信しています — しかし、コンソールに NSLog メッセージが表示されないのはなぜですか?

(違いが生じる場合に備えて、私は管理者として実行しません。ただし、Xcode を初めて実行するときに求められたときは常に管理者アカウントの詳細を入力しました。コンソール アプリで、 system.log に「ファイルを読み取れません」というメッセージが表示されます。これは、管理者として実行していないことに関連している可能性があります。)

0 投票する
1 に答える
693 参照

swift - showPreferencesForExtension で Safari アプリの拡張子が検出されない

サファリ設定で拡張機能を有効にするためのボタンを備えたメイン ビューを備えた Safari アプリ拡張機能を構築しています。

ボタンは次のコードを使用します。

「com.bry.teste」はバンドル ID、「com.bry.teste.teste1」は拡張バンドル ID です。

問題は、このコードが私の Mac OSX バージョン = 10.13.1 で動作することです。同じ OS を使用している別の友人に送信したところ、同様に動作しました。

しかし、10.12.6 (Sierra) を使用している別の 2 人の友人に送信しましたが、動作しません。

コードはこのエラーを出力します: Optional(Error Domain=SFErrorDomain Code=1 "(null)")

拡張機能IDが存在しないということだと思いますが、別のトピックで拡張機能の所有者か何かに関係していると誰かが言っています。

10.13 では動作し、12.6 では動作しない理由がわかりません。safariServices は 12 以降の OS でサポートされています。

ヒントはありますか?