2015-06-10 12 views
9

में बहिष्कृत किया गया है वर्तमान एपीआई आईओएस 9 राज्य के लिए बदलता है कि -setKeepAliveTimeout:handler: बहिष्कृत है।setKeepAliveTimeout को आईओएस 9

अभी तक, यह एकमात्र तरीका है कि आईओएस पर वीओआईपी एसआईपी ऐप एसआईपी-सर्वर के साथ अपना पंजीकरण बनाए रख सकता है।

यह तकनीक लिनफोन और अन्य जैसे विभिन्न ऐप्स द्वारा उपयोग की जाती है।

क्या किसी के पास ऐप्पल द्वारा प्रस्तावित विकल्पों पर कोई विचार है? या एसआईपी (आईओएस 9) से शुरू होने से अपंग हो जाएगा?

देखें: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/setKeepAliveTimeout:handler:

http://www.linphone.org/docs/liblinphone/group__IOS.html

+0

मुझे एक ही समस्या है। मेरा वीओआईपी ऐप KeepAlive टाइमआउट पर पंजीकरण रीफ्रेश करता है। यह लैन पर्यावरण में भी काम करना चाहिए, इंटरनेट कनेक्टिविटी का मतलब है जिसका मतलब कोई रिमोट नोटिफिकेशन नहीं है। मेरा ऐप अभी इस बहिष्कृत एपीआई के साथ काम कर रहा है लेकिन यह सुनिश्चित नहीं है कि यह कितना समय लगेगा। – Phani2013

उत्तर

0

एप्पल दस्तावेज़ पेज आप लिंक किए गए वैकल्पिक:

Discussion

In iOS 8 and later, voice-over-IP (VoIP) apps register for UIRemoteNotificationTypeVoIP remote notifications instead of using this method.

+3

UIRemoteNotificationTypeVoIP एक बाहरी ट्रिगर को वीओआईपी ऐप को जागृत करने की अनुमति देता है। यह उस मामले को कवर नहीं करता है जहां एसआईपी क्लाइंट को एसआईपी सर्वर पर सक्रिय रूप से पुनः पंजीकरण करने की आवश्यकता होती है। – chriscap

0

ऐसा लगता है आप सेब पुश अधिसूचना सर्वर से संकेत घटना लीक करने के लिए है कि https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/registerForRemoteNotifications के लिए पंजीकरण करके।

यह काफी दुर्भाग्यपूर्ण है, लेकिन अपरिहार्य लगता है। इसके पीछे विचार शायद फोन पर कम सक्रिय नेटवर्क कनेक्शन रखकर बैटरी को बचाने के लिए है।

तो यह मतलब है कि आप जानकारी है कि एक घटना सेब सेवाओं के लिए आपके आवेदन पर पहुँच गया है लीक करने के लिए है। आप शायद अपने ऐप पर केवल 'जाग' अधिसूचना भेज सकते हैं और फिर ईवेंट प्रकार को लोड करना संभाल सकते हैं - लेकिन इसमें बहुत अधिक विलंब हो सकता है, इसलिए आपको सेब सेवाओं में सिग्नलिंग जानकारी के अधिक से अधिक रिसाव की आवश्यकता हो सकती है। : -/

0

एप्पल डॉक्स से:

In iOS 8 and later, voice-over-IP (VoIP) apps register for registerForRemoteNotifications remote notifications instead of using this method. Using remote notifications eliminates the need for a timeout handler to check in with the VoIP service. Instead, when a calls arrives for the user, the VoIP service sends a VoIP remote notification to the user’s device. Upon receiving this notification, the device launches or wakes the app as needed so that it can handle the incoming call.

अतीत में, setKeepAliveTimeout हैंडलर अनुमति देने के लिए उपयोग किया जाता है कॉल एक अंत समय के नाम से जाना और 10 सेकंड की एक अधिकतम से बाहर निकलने या होना चाहिए था समाप्त करने के लिए मजबूर होना, हैंडलर को भी कॉल टाइमआउट मूल्य के भीतर होने की गारंटी नहीं है।

नया (रजिस्टरफोर रिमोट नोटिफिकेशन) हैंडलर आंतरिक (आईओएस) के साथ काम करने के लिए ठीक होगा और जब रिमोट-इवेंट होता है तो यह आपके ऐप को कॉल करेगा (यह आपके ऐप को सोएगा अगर यह सो रहा है)।

किसी भी तरह से, दोनों को एक ही काम करना चाहिए, पुराना संस्करण आप कोड को संभालेगा, और नया, आपको एक अधिसूचना प्राप्त होगी (इसे कहीं भी संभाल लें), लेकिन अब आप टाइमआउट को नियंत्रित नहीं करेंगे।

एप्पल डॉक्स से:

Call this method to initiate the registration process with Apple Push Notification service. If registration succeeds, the app calls your app delegate object’s application:didRegisterForRemoteNotificationsWithDeviceToken: method and passes it a device token. You should pass this token along to the server you use to generate remote notifications for the device. If registration fails, the app calls its app delegate’s application:didFailToRegisterForRemoteNotificationsWithError: method instead.

आप अपने ऐप के दूरस्थ सूचनाएं, अलर्ट प्रदर्शित ध्वनियों खेलते हैं, या अन्य उपयोगकर्ता का सामना करना पड़ कार्रवाई करने के लिए चाहते हैं, आप registerUserNotificationSettings कॉल करना होगा: विधि प्रकार के नोटिफिकेशन का अनुरोध करने के आप उपयोग करना चाहते हैं। यदि आप उस विधि को कॉल नहीं करते हैं, तो सिस्टम चुपचाप आपके ऐप पर सभी रिमोट नोटिफिकेशन प्रदान करता है। चूंकि पंजीकरण प्रक्रिया उपयोगकर्ता की पसंदीदा अधिसूचना सेटिंग्स को ध्यान में रखती है, उपयोगकर्ता के सामने आने वाले अधिसूचना प्रकारों तक पहुंच का अनुरोध करने से यह गारंटी नहीं मिलती है कि उन्हें दिया जाएगा। यह पता लगाने के लिए कि कौन सी अधिसूचना सेटिंग्स उपलब्ध हैं, मौजूदा यूज़र नॉटिफिकेशन सेटिंग्स विधि का उपयोग करें।

और अंत में (संयुक्त राष्ट्र के पंजीकरण के लिए):

You should call this method in rare circumstances only, such as when a new version of the app removes support for all types of remote notifications. Users can temporarily prevent apps from receiving remote notifications through the Notifications section of the Settings app. Apps unregistered through this method can always re-register.

सुनिश्चित नहीं हैं, लेकिन मुझे आशा है कि इस मदद करता है।

सादर,

Heider सती

0

हम PUSHKIT एकीकृत है, यह Wakeup आवेदन के संबंध में सब कुछ का ख्याल रखना होगा। यदि आप पुशकिट के माध्यम से पुश अधिसूचना के साथ वीओआईपी कॉल प्राप्त करते समय पुश अधिसूचना भेजते हैं, तो यह पृष्ठभूमि की पृष्ठभूमि में काम करेगा। मैंने एक ही काम किया है।

मुझे आशा है कि यह आपकी मदद करेगा।