allowsConstrainedNetworkAccess
Discussion 議論
The system determines what constitutes “expensive” based on the nature of the network interface and other factors. iOS 13 considers most cellular networks and personal hotspots expensive. If there are no nonexpensive network interfaces available and the session’s allows
property is NO
, any task created from the session fails. In this case, the error provided when the task fails has a network
property whose value is NSURLError
.
システムは、何が “高くつく” ことを構成するかを、ネットワークインターフェイスと他の要因の本質に基づいて決定します。iOS 13は、ほとんどのセルラーネットワークと個人のホットスポットを高くつくと考えます。利用可能な高くつかないネットワークインターフェイスがないそしてセッションのもつallows
プロパティがNO
ならば、セッションから作成されたあらゆるタスクは失敗します。この場合には、タスクが失敗する時に提供されたエラーは、network
プロパティを持ちます、それの値はNSURLError
です。
Limit your app’s of use of expensive network access to user-initiated tasks, and put off discretionary tasks until an nonexpensive interface becomes available. To do this, set allows
(and allows
) to NO
and waits
to YES
. This way, your NSURLSession
waits for a suitable interface to become available before sending or receiving data.
高くつくネットワークアクセスのあなたのアプリの利用をユーザ着手のタスクに制限してください、そして高くつかないインターフェイスが利用可能になるまで自由裁量のタスクを延期してください。これをするには、allows
(そしてallows
をNO
に、そしてwaits
をYES
に設定してください。こうして、あなたのNSURLSession
は、データの送信または受信の前に適切なインターフェイスが利用可能になるのを待ちます。