問題タブ [swift5.2]
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.
ios - iPhone デバイスがサイレント/バイブレーション モードのときに、アプリケーションでオーディオ機能を有効にする
ビデオ プレーヤーを統合しましたが、オーディオまたはビデオの再生中に問題が発生しました。つまり、デバイスがサイレント モードまたはバイブレート モードの場合、サウンドがミュートされます。
これは、AVFoundation/AVKIt または Apple からの IOS デバイスのデフォルトの構成設定です。
Apple開発者サイトとStackoverflowのさまざまなソリューションを検索して、デバイスを呼び出しモードにするか、プレーヤー ビュー コントローラー クラスでコードを記述しました。
しかし、Audio Video 機能を使用するクラスが多数ある場合、すべてのビュー コントローラーで同じコードを何度も記述する必要があります。これはまったく良い習慣ではないと思います。
そこで、デバイスがサイレント モードかバイブレーション モードかにかかわらず、目的の結果を達成するための最適化された方法、つまりオーディオのミュートを解除する方法を共有します。
swift - パブリッシュされた値の SwiftUI toggle() 関数は、Swift 5.2 での didSet のトリガーを停止しました
Xcode を 11.3 から 11.4 に更新したところ、SwiftUI で記述されたプロジェクトの動作が異なりました。toggle()
以前はブール値の関数を呼び出してdidSet
いて、プロパティ オブザーバーをトリガーしていましたが、機能しなくなりました。
というState
プロパティがあるとしisSettingOn
ます。私はこれを次のように呼んでいました:
isSettingOn.toggle()
didSet
プロパティのオブザーバーをトリガーしていました。今、私がこれを呼び出す場合にのみ:
isSettingOn = true
それは働いています。
私のプロジェクトはすべてこの動作に基づいていますが、この変更により基本的にすべてが壊れました。私が実際にここで何か間違ったことをしているかどうかは誰にも分かりますか?
編集:
デモコードが追加されました: