Sie können tatsächlich eine XMPP-Framework-basierte App im Hintergrund in iOS4 ausführen, indem Sie sie als VoIP-App aufrufen. ( Jedoch , Apple wird es aus dem App Store ablehnen, es sei denn, es funktioniert auch VoIP ).
Sie müssen das VoIP-Flag in der App-Datei (appname) -info.plist und dann in
festlegen %Vor% Sie müssen die Socket-Stream-Flags so einstellen, dass sie kCFStreamNetworkServiceTypeVoIP
:
Dann wird Ihre App kurz beim Eintreffen einer neuen XMPP-Nachricht geweckt. In deinem normalen
%Vor% -Handler, Sie würden eine lokale Benachrichtigung für die Nachricht erstellen, wenn Sie im Hintergrund arbeiten (Sie können den Hintergrundstatus über UIApplicationDidEnterBackgroundNotification
und UIApplicationWillEnterForegroundNotification
verfolgen). Der lokale Benachrichtigungshandler kann die Anwendungskennnummer usw. festlegen (genau wie bei einer Push-Benachrichtigung).
BEARBEITEN
Neuere Versionen des XMPP-Frameworks (speziell GCDAsyncSocket) unterstützen jetzt einen Aufruf, um dies zu vereinfachen, sodass Sie einfach Folgendes haben können:
%Vor%Es gibt eine begrenzte Anzahl von Programmen, die unbegrenzt im Hintergrund ausgeführt werden können. Dabei handelt es sich um VOIP-Programme, Programme, die Musik wiedergeben, und solche, die den Standort des Benutzers verfolgen. Wenn Sie keine davon legitimieren, sind Sie auf zehn Minuten Hintergrundoperation beschränkt. Beachten Sie, dass Apple Apps ablehnt, die dumme Tricks wie "leere" Sounds ausprobieren, um die App live zu halten.
Hier finden Sie Informationen zu laufenden Aufgaben im Hintergrund: Ссылка
Ihre andere Option ist, dass das Chat-Programm funktioniert, indem ein Server kontaktiert wird und der Server Antworten in die Warteschlange stellt, wenn ein Benutzer offline ist, und diese dann bei der nächsten Anmeldung ausliefert. Da ich selbst kein Netzprogrammierer bin, weiß ich nicht, wie machbar das ist, aber ich denke, es ist der einzige Weg, dies auf unbestimmte Zeit zu tun, wenn Sie nur Textchat anbieten. Die bessere Option wäre, Ihre Anwendung VOIP aktiviert mit dem oben genannten Leitfaden zu aktivieren.
BEARBEITEN Ab der Veröffentlichung von iOS 5.0 ist es auch möglich, Apps als Newsstand-Anwendungen herunterzuladen, um Informationen im Hintergrund herunterzuladen, sowie eine Reihe anderer funky Funktionen, die auch nur Kiosk sind / p>
-Ash
Tags und Links objective-c iphone ios xmpp cocoa-touch