web-dev-qa-db-ja.com

WhatsApp Webクライアントは、最新のiOSアップデート(SDKバージョン13.0以降)でどのように機能しますか?

ダークモードのサポートは、WhatsAppクライアントのバージョン2.20.31(2020年3月にリリース)に追加されました。これはiOS 13のみの機能であり、ルックアンドフィールから、完全にネイティブな実装のように見えます。アプリがiOS SDK 13.0以降でコンパイルされていると想定しても安全だと思います。

問題は、iOS 13以降 AppleはVoIP通知を受信するたびにネイティブコール画面を表示する必要がある -そうでない場合、アプリはそれ以上のVoIP通知を受信しません。 iOSの以前のバージョンでは、一部のアプリ(WhatsAppを含む)は、ユーザーがWebクライアントを使用しようとすると、「偽の」着信VoIPコールを使用してバックグラウンドでアプリを静かに起動し、後者が直接接続してデータを交換できるように見えます電話で。

ただし、最新バージョンの時点では、Appleによって導入された制限にもかかわらず、Webクライアントは以前と同様に機能しているように見えます。デバッガーを使用すると、ユーザーがPCでWebクライアントを開くたびにiOSアプリが起動するのを観察できますが、通話画面は表示されません。これは、何度でも何度でも行うことができます。

WhatsAppのログは上記の内容を確認しているようです

default 17:09:44.515731+0000    callservicesd   Call source <CXXPCCallSource 0x111ecb0a0 identifier=UKFA9XBX6K.net.whatsapp.WhatsApp isConnected=1 processIdentifier=417 isPermittedToUsePublicAPI=1 isPermittedToUsePrivateAPI=0> registered with configuration <CXProviderConfiguration 0x111e9bb40 localizedName=‎WhatsApp ringtoneSoundURL=(null) iconTemplateImageData=0x0 maximumCallGroups=1 maximumCallsPerCallGroup=1 supportsAudioOnly=1 supportsVideo=1 supportsEmergency=0 supportsVoicemail=0 supportsCurrentPlatform=1 includesCallsInRecents=1 audioSessionID=1151157 supportedHandleTypes=2>

これをアプリで実行しようとすると、結果はかなり異なります

error   18:56:19.949023+0000    callservicesd   Killing VoIP app com.xxxxx.xxxxx.xxxxx because it failed to post an incoming call in time.

ここで何が起こっているのでしょうか?ドキュメントに記載されていない回避策を使用したり、プライベートAPIを利用したりしていますか?

11
DPR

私はこれについてeurodevのサポートに質問し、受け取ったばかりです:

現時点では、お客様が求めている無制限の資格についての追加情報はありません。利用できる唯一の情報はここにリンクされています。

https://developer.Apple.com/documentation/bundleresources/entitlements

詳細を取得するためにそれらにプッシュバック。

ありがとう。

0
Gavin Henry