2014-11-14 34 views
5

SMS alındığında yanıt vermek istediğim bir uygulama var;CTTelephonyCenterAddObserver SMS alma bildirimi yapmıyor

 id center = CTTelephonyCenterGetDefault(); 
     CTTelephonyCenterAddObserver(center, 
            NULL, 
            callback, 
            NULL, 
            NULL, 
            CFNotificationSuspensionBehaviorHold); 

ve kCTMessageReceivedNotification kontrol geri aramasında: iOS 7 kadar bu böyle CTTelephonyCenter için kaydederek çalıştı. Bu, iOS 7'de olduğundan daha az bildirim türü aldığımdan ve ileti alma ile ilgili hiçbiri olmadığından iOS 8'de çalışmaz. Bunun yeni bir yetkile ilgili olduğunu varsayalım, ancak eğer böyle bir şey yapamayacağımı ve hak talebinin ne olduğunu anlayamadım. Bunu nasıl çözeceğini bilen var mı?

+0

Bu gözlemci nasıl eklenir? Herhangi bir çerçeveyi ithal etmemiz gerekiyor mu? Yukarıdaki kodu eklediğimde, hata alıyorum "CTTelephonyCenterGetDefault işlevinin örtük bildirimi geçersizdir, int dönüşümü kimliğe dönüştürülmez, CTTelephonyCenterAddObserver c99 – Durgaprasad

cevap

6

Sen dördüncü argüman bildirim adını belirtmek gerekir: Eğer tüm CoreTelephony bildirimleri alma için bildirim ismi olarak NULL geçemez

id center = CTTelephonyCenterGetDefault(); 
CTTelephonyCenterAddObserver(center, 
          NULL, 
          callback, 
          CFSTR("kCTMessageReceivedNotification"), 
          NULL, 
          CFNotificationSuspensionBehaviorHold); 

iOS 8 itibariyle. Şimdi tam olarak hangi bildirimleri gözlemlemek istediğinizi söylemelisiniz. En az kCTMessageReceivedNotification iOS 8.3 itibariyle

8,3 GÜNCELLEME, yetki (bütün bildirimler için muhtemelen davayı ancak kesin bilmiyorum) alınacak iOS 8.3 yana

<key>com.apple.CommCenter.fine-grained</key> 
<array> 
    <string>spi</string> 
</array> 
+0

için geçerli değil. Teşekkür ederim. Çok kazımaktan kurtardın :) – Orph

+0

IOS 8.3 beri, artık kullanılabilir değil gibi görünüyor .. Hala iOS 8.2 ve üzerinde çalışıyoruz başka bir bildirim ile çalışıyorum.Ben neden bilmiyorum, ama Apple CTTelephonyCenterAddObserver davranışını değiştirmek gibi görünüyor. 8.2 & 8.3 CoreTelephony.framework sökün ve tüm imzalar aynı görünüyor.Ayrıca bir geçici çözüm var mı? Teşekkür ederim. – Boobby69

+0

@creker telefon çağrılarını dinlemek için hangi değeri kullanmalıyım ve bu bilgi nerede listelenmiş veya bulundu? ! – mylord

2

gerektirir CTTelephonyCenterAddObserver artık çalışmıyor.

+0

@creker iOS 8.3'te kCTMessageReceivedNotification ile test ettiniz mi? –

+0

@creker Telefon çağrılarını dinlemek için gereken değer nedir (telefon görüşmesi kaydı yapmak için)? – mylord

+0

@ Deiz_84, bu yetkilendirmeyi nasıl ekleyebileceğimi – creker