問題タブ [nstouchbar]

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 投票する
1 に答える
841 参照

cocoa - Touch Bar のエスケープ キーを更新するときに、このクラッシュを防ぐにはどうすればよいですか?

最新の MacBook Pro が発売されたときに、アプリに Touch Bar のサポートを追加しました。その後、意味のあるカスタム エスケープ キーなど、さまざまなマイナーな改善を行いました。そのアップデートをリリースした後、アプリがエスケープ キーを更新しようとすると、クラッシュ レポートが表示されるようになりました。

一例を次に示します。

簡潔にするために約 500 行を削除しました。[NSApplicationFunctionRowController _updateEscapeKeyItem] + 438

ここで、もう 1 つの短縮レポートを示します。これは私の最も一般的なクラッシュです。実際には自分のコードを呼び出しますが、呼び出しているコードは実際の問題ではないと思われます。

私のtouchBar:makeItemForIdentifier:方法はこれだけです:

そしてcancelButtonItemWithIdentifier:、これも非常に単純です:

もちろん、このクラッシュを自分で再現することはできません。これは、macOS 10.12.2 から 10.12.5 のベータ版で発生します。レポートの多くは、私が自分でテストしている同じ 13 インチ モデルからのものです。クラッシュ レポートにコメントを含む少数の人々は、ほとんどの場合、新しいウィンドウを開くアクションの直後に発生していると言っています (したがって、エスケープ キーを変更します)。 — 1 人は、ウィンドウを閉じるアクションの後に発生したと言いました. 1 人は、クラッシュする前に 10 秒間ハングアップしたことに言及しました — 同じメソッドへの 500 回の呼び出しを考えると、これは理にかなっています.もちろん、彼らは連絡先情報を残していなかったので、私は彼らにフォローアップする方法がありません.

カスタム エスケープ キーを削除することでクラッシュを回避できることはわかっていますが、削除したくありません。これに対処する方法について他にアイデアはありますか?

更新:最初にこれを投稿して以来、制約を削除するようにアプリを更新したので、ボタンを作成するためのコードは今できる限り単純です。

残念ながら、同じスタック トレースを含む、新しいバージョンからのクラッシュ レポートをまだ取得しています。したがって、問題は私が提供しているボタンにあるとは思いません。

0 投票する
0 に答える
280 参照

swift - Touch Bar に多くのボタンを追加する

水平スタイルのスクロール ビュー スタイルで、MacBook Pro の TouchBar に多くのボタンを追加できた人はいますか? TouchBarNSScrollViewで実際にサポートされているようです

これはRoman Robaから有望に見えましたが、NSTouchBarButtonがスクロールビューに受け入れられず、標準のもののみが継承されないため、継承されません。私のセットアップは投稿とほぼ同じです:

ここに画像の説明を入力

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

swift - Swiftで自動的に作成されたタッチバーAVPlayerを削除する方法

Mac アプリをプログラミングしていますが、タッチバーをサポートしたいと考えています。分割画面コントローラーがあり、ビューの 1 つに AVPlayer があります。AVPlayer は、一時停止や再生などのタッチバー ボタンを自動的に作成しました。自動的に作成されたこのタッチバーを削除するにはどうすればよいですか? または、ビューコントローラーのタッチバーを無効にする方法はありますか? ウィンドウコントローラーのウィンドウに1つのタッチバーを追加したいのですが、現時点では、AVPlayerによって自動的に作成されるタッチバーによって上書きされます。