App unsichtbar als Dienst installieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • App unsichtbar als Dienst installieren

    Guten Morgen zusammen,

    ich komme zwar aus der Entwickler-Ecke (php, VB.NET, Android), aber iOS ist für mich noch weitgehend Neuland.

    Daher befasse ich mich aktuell mit Fragestellungen, die in Richtung "Machbarkeit" gehen.

    Zur Verfügung stehen mir:

    - Macbook Pro (High Sierra, 10.13.6)
    - XCode 10.1
    - Swift 4.2
    - iPhone 6S, iOS 13.1.2
    - Entwickler Zugang vorhanden, aber noch kein "Premium Account" gebucht

    Aktuell stellt sich mir in Sachen Machbarkeit folgende Frage:

    Ist es möglich, eine App als Hintergrund-Dienst zu installieren, so dass dieser beim Start des Gerätes gestartet wird, ohne die App als sichtbare View zu starten?
    Beispiele: WhatsApp, Cloud Sync Tools wie Dropbox

    Diese Programme scheinen doch auch als Background Dienste zu laufen, selbst dann, wenn die App / View gar nicht sichtbar ist.
    Stehen mir diese Möglichkeiten auch zur Verfügung? Ist sowas möglich? Nach welchen Begriffen darf ich mich in diesem Zusammenhang genauer umschauen?

    Es ist grundsätzlich kein Problem, eine sichtbare App in den Hintergrund zu schieben.
    Das habe ich bereits getestet, die Background-Aufgaben werden auch über Stunden hinweg weiterhin im Background erledigt, wenn das Display schwarz ist oder eine ganz andere App im Vordergrund ist.

    Ich benötige diese "Situation", um Standortdaten intervallgesteuert mit einem entfernten Server zu synchronisieren. Dazu bediene ich mich dem SwiftSocket Framework. Auch das klappt (Vordergrund+Hintergrund) einwandfrei.

    Allerdings setzt dies voraus, dass der Nutzer, bsp.-weise nach einem Neustart die App zunächst aufrufen muss.
    Das würde ich gerne vermeiden, der Dienst soll also im Hintergrund gestartet werden.

    Für ein paar ja's oder nein's und ein paar "Suchbegriffe" für meine weiterführende Recherche wäre ich dankbar.

    Beste Grüße
    Boris

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von plutigerAnfaenger ()

  • Das geht, für den Hintergrund-Modus brauchst Du IIRC nur ein Property in der info.plist setzen. Zum Starten hat sich - zumindest bei Apps aus dem Mac-App-Store - ein Helper etabliert, der vom Benutzer über eine Option in den LoginItems registriert wird und die eigentliche App startet ... hier ein Link.

    Soviel aus dem Gedächtnis, für genauere Infos könnte ich später mal nachschauen.

    Mattes

    Edit: Ich hatte irgendwie die LaunchServices im Hinterkopf, sorry...
    Diese Seite bleibt aus technischen Gründen unbedruckt.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von MyMattes ()

  • Thomas schrieb:

    Ich habs zwar noch nicht selber probiert gehe aber davon aus, dass man auch unter iOS Tools ohne UI machen kann so wie unter OSX. Und wenn es sowas gibt dann müssen die auch anders gestartet werden...
    Bei iOS geht das meines Wissen glücklicherweise nicht. NSA, Google und Facebook etc. würde das freuen.

    Eine App kann Hintergrunddienste implementieren aber ob und wann die ausgeführt werden gibt es keine Garantie
  • Ich vermute, dass eine Kombination mit Pushnotification hilfreich sein könnte.
    Unter developer.apple.com/documentat…ification-related_actions
    steht, dass eine App dafür gestartet wird.
    Deine App könnte sich also vom Server wecken lassen. Das sollte recht stabil funktionieren, wie die Messenger-Apps zeigen.

    Andererseits steht unter developer.apple.com/documentat…_events_in_the_background,
    dass die Events von CoreLocation die App starten können, was aber nicht mit jeder Nutzungsweise kompatibel ist.
  • AppleDeveloper schrieb:


    Thomas schrieb:

    Ich habs zwar noch nicht selber probiert gehe aber davon aus, dass man auch unter iOS Tools ohne UI machen kann so wie unter OSX. Und wenn es sowas gibt dann müssen die auch anders gestartet werden...
    Bei iOS geht das meines Wissen glücklicherweise nicht. NSA, Google und Facebook etc. würde das freuen.
    Falls ich mal Daten von jemanden will dann mache ich natürlich ein UI. Nix ist dümmer als ein User. ;)
    Wenn die App ein UI haben muss, dann bin ich auch neugierig wie es geht...