WhatsApp web istemcisi hala en son iOS güncellemesi ile nasıl çalışıyor (SDK sürüm 13.0+)?


9

Böylece WhatsApp istemcisinin 2.20.31 sürümüne (Mart 2020'de piyasaya sürüldü) karanlık mod desteği eklendi. Bu yalnızca iOS 13 özellikli bir özelliktir ve görünüşe göre tamamen yerel bir uygulama gibi görünüyor. Uygulamanın şimdi iOS SDK 13.0 veya üstü ile derlendiğini varsaymanın güvenli olduğunu düşünüyorum.

Mesele şu ki, iOS 13'ten itibaren Apple artık bir VoIP bildirimi alındığında yerel çağrı ekranının gösterilmesini gerektiriyor - aksi takdirde uygulama başka VoIP bildirimi almayacak. İOS'un önceki sürümünde, bazı uygulamalar (WhatsApp dahil), kullanıcı web istemcisini kullanmaya çalıştığında uygulamayı arka planda sessizce uyandırmak için "sahte" gelen VoIP çağrılarını kullanıyor gibi görünüyor. telefon ile.

Bununla birlikte, en son sürümden itibaren, web istemcisi Apple tarafından getirilen kısıtlamaya rağmen daha önce olduğu gibi çalışıyor gibi görünüyor. Bir hata ayıklayıcı kullanarak, kullanıcı web istemcisini bir PC'de açtığında iOS uygulamasının uyandığını gözlemlemek mümkündür, ancak hiçbir arama ekranı gösterilmez. Bu tekrar tekrar ve istediğimiz sıklıkta yapılabilir.

WhatsApp günlükleri yukarıda yazılanları doğrular gibi görünüyor :

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>

Bunu uygulamamızla yapmaya çalışırsak, sonuçlar oldukça farklıdır :

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

Burada neler olduğu hakkında bir fikrin var mı? WhatsApp herhangi bir tür belgelendirilmemiş geçici çözüm kullanıyor mu veya bir çeşit özel API kullanıyor mu?

Yanıtlarınız için şimdiden teşekkür ederiz.

Yanıtlar:


6

Bu WhatsApp son yetkiler dosyası:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.developer.icloud-container-identifiers</key>
    <array>
        <string>57T9237FN3.net.whatsapp.WhatsApp</string>
    </array>
    <key>com.apple.developer.pushkit.unrestricted-voip</key>
    <true/>
    <key>com.apple.developer.ubiquity-container-identifiers</key>
    <array>
        <string>57T9237FN3.net.whatsapp.WhatsApp</string>
    </array>
    <key>application-identifier</key>
    <string>UKFA9XBX6K.net.whatsapp.WhatsApp</string>
    <key>com.apple.developer.carplay-messaging</key>
    <true/>
    <key>aps-environment</key>
    <string>production</string>
    <key>com.apple.developer.icloud-container-environment</key>
    <string>Production</string>
    <key>com.apple.developer.associated-domains</key>
    <array>
        <string>applinks:api.whatsapp.com</string>
        <string>applinks:v.whatsapp.com</string>
        <string>applinks:chat.whatsapp.com</string>
        <string>applinks:wa.me</string>
    </array>
    <key>com.apple.developer.siri</key>
    <true/>
    <key>com.apple.developer.team-identifier</key>
    <string>57T9237FN3</string>
    <key>com.apple.developer.icloud-services</key>
    <array>
        <string>CloudDocuments</string>
        <string>CloudKit</string>
    </array>
    <key>com.apple.security.application-groups</key>
    <array>
        <string>group.net.whatsapp.WhatsApp.shared</string>
        <string>group.com.facebook.family</string>
        <string>group.net.whatsapp.WhatsApp.private</string>
        <string>group.net.whatsapp.WhatsAppSMB.shared</string>
        <string>group.net.whatsapp.family</string>
    </array>
</dict>
</plist>

Bu özel yetkilendirme, gelen bir aramayı bildirmemelerine izin verilmesinin nedeni gibi görünüyor:

com.apple.developer.pushkit.unrestricted-voip

Bu hakla ilgili herhangi bir belge bulamıyorum, bu yüzden Apple tarafından özel bir izin verildiğinden eminim.


O zaman gizem çözüldü. Çok teşekkür ederim!
DPR
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.