iphone XMPP App Hintergrund ausführen

8

Ich habe eine Chat-Anwendung mit XMPP-Framework erstellt. Wenn ich die App verlasse (Hintergrundmodus aufrufen), möchte ich die Chat-Nachricht erhalten ... und muss auch das Symbol-Abzeichen anzeigen ... Wie kann ich das tun?

    
Raj 10.03.2011, 09:18
quelle

3 Antworten

11

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 :

enthalten %Vor%

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%     
Jeff Hay 10.03.2011, 16:54
quelle
6

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

    
Ash 10.03.2011 09:26
quelle
5

Im neuesten XMPP-Framework müssen Sie Framework-Dateien nicht ändern.

Mach einfach folgendes: 1. Fügen Sie das zu Ihrer Verbindungsmethode hinzu

%Vor%

2. Fügen Sie einen Voip-Schlüssel zu Ihrer Info-Plist-Datei hinzu:

    
wzbozon 29.06.2013 19:44
quelle