MobileFirst-Foundation-SDK zu iOS-Anwendungen hinzufügen

improve this page | report issue

Übersicht

Das MobileFirst-Foundation-SDK besteht aus einer Reihe von Abhängigkeiten, die über CocoaPods verfügbar sind und zu einem Xcode-Projekt hinzugefügt werden können.
Die Pods entsprechen Kernfunktionen und anderen Funktionen:

  • IBMMobileFirstPlatformFoundation - Implementiert Client-Server-Konnektivität, handhabt Authentifizierungs- und Sicherheitsaspekte, Ressourcenanforderungen und weitere erforderliche Kernfunktionen
  • IBMMobileFirstPlatformFoundationJSONStore - Enthält das JSONStore-Framework. Weitere Informationen enthält das Lernprogramm JSONStore für iOS.
  • IBMMobileFirstPlatformFoundationPush - Enthält das Framework für Push-Benachrichtigungen. Weitere Informationen enthalten die Lernprogramme zu Benachrichtigungen.
  • IBMMobileFirstPlatformFoundationWatchOS - Enthält Unterstützung für Apple WatchOS

In diesem Lernprogramm erfahren Sie, wie das native MobileFirst-SDK mithilfe von CocoaPods zu einer neuen oder vorhandenen iOS-Anwendung hinzugfügt wird. Sie werden auch lernen, wie MobileFirst Server konfiguriert werden muss, um die Anwendung zu erkennen.

Voraussetzungen:

Hinweis: Das Keychain Sharing ist obligatorisch, wenn Sie Xcode 8 verwenden und iOS-Apps in einem Simulator ausführen.

Fahren Sie mit folgenden Abschnitten fort:

Natives MobileFirst-SDK hinzufügen

Folgen Sie den nachstehenden Anweisungen, um das native Mobile Foundation-SDK zu einem neuen oder vorhandenen Xcode-Projekt hinzuzufügen und die Anwendung bei MobileFirst Server zu registrieren.

Vergewissern Sie sich als Erstes, dass der MobileFirst Server aktiv ist.
Wenn Sie einen lokal installierten Server verwenden, navigieren Sie in einem Befehlszeilenfenster zum Serverordner und führen Sie den Befehl ./run.sh aus.

Anwendung erstellen

Erstellen Sie ein Xcode-Projekt oder verwenden Sie ein vorhandenes Projekt (Swift oder Objective-C).

SDK hinzufügen

  1. Das native SDK der Mobile Foundation wird über CocoaPods bereitgestellt.
    • Wenn CocoaPods bereits in Ihrer Entwicklungsumgebung installiert ist, fahren Sie mit Schritt 2 fort.
    • Wenn CocoaPods nicht installiert ist, gehen Sie wie folgt vor:
      • Öffnen Sie ein Befehlszeilenfenster und navigieren Sie zum Stammverzeichnis des Xcode-Projekts.
      • Führen Sie den Befehl sudo gem install cocoapods und dann pod setup aus. Hinweis: Dies Ausführung dieser Befehle kann einige Zeit dauern.
  2. Führen Sie den Befehl pod init aus. Damit wird eine Podfile erstellt.
  3. Öffnen Sie die Podfile in Ihrem bevorzugten Codeeditor.
    • Löschen Sie den Dateiinhalt oder setzen Sie ihn auf Kommentar.
    • Fügen Sie die folgenden Zeilen hinzu und speichern Sie die Änderungen:

      use_frameworks!
      
      
      
      platform :ios, 8.0
      target "Xcode-project-target" do
          pod 'IBMMobileFirstPlatformFoundation'
      end
      
      • Ersetzen Sie Xcode-project-target durch den Namen Ihres Xcode-Projektziels.
  4. Führen Sie im Befehlszeilenfenster den Befehl pod install und dann den Befehl pod update aus. Mit diesen Befehlen werden die Dateien des nativen SDK der Mobile Foundation und die Datei mfpclient.plist hinzugefügt. Außerdem wird ein Pod-Projekt erstellt.
    Hinweis: Die Ausführung der Befehle kann einige Zeit dauern.

    Wichtiger Hinweis: Ab jetzt können Sie die Datei [Projektname].xcworkspace verwenden, um das Projekt in Xcode zu öffnen. Verwenden Sie nicht die Datei [Projektname].xcodeproj. Ein CocoaPods-basiertes Projekt wird als ein Arbeitsbereich verwaltet, der die (ausführbare Datei der) Anwendung und die Bibliothek enthält. (Alle Projektabhängigkeiten werden vom CocoaPods-Manager mit Pull übertragen.)

Natives MobileFirst-SDK manuell hinzufügen

Sie können das SDK der Mobile Foundation auch manuell hinzufügen:

Wenn Sie das SDK der Mobile Foundation manuell hinzufügen möchten, müssen Sie zunächst über das Download-Center der MobileFirst Operations Console die SDK-ZIP-Datei auf der Registerkarte SDKs herunterladen.

  • Fügen Sie die Mobile Foundation-Dateien zu Ihrem Xcode-Projekt hinzu.
    • Wählen Sie im Projektexplorer das Symbol für das Projektstammverzeichnis aus.
    • Wählen Sie File → Add Files aus und navigieren Sie zu dem Ordner mit den zuvor heruntergeladenen Frameworkdateien.
    • Klicken Sie auf die Schaltfläche Options.
    • Wählen Sie Copy items if needed und Create groups for any added folders aus.
      Hinweis: Wenn Sie die Option Copy items if needed nicht auswählen, werden die Frameworkdateien nicht kopiert, aber an ihrer Ursprungsposition verlinkt.
    • Wählen Sie das Hauptprojekt aus (erste Option) und das App-Ziel.
    • Entfernen Sie auf der Registerkarte General alle Frameworks, die automatisch zum Abschnitt Linked Frameworks and Libraries hinzugefügt werden würden.
    • Erforderlich: Fügen Sie unter Embedded Binaries die folgenden Frameworks hinzu:
      • IBMMobileFirstPlatformFoundation.framework
      • IBMMobileFirstPlatformFoundationOpenSSLUtils.framework
      • IBMMobileFirstPlatformFoundationWatchOS.framework
      Bei Ausführung dieses Schrittes werden diese Frameworks automatisch zum Abschnitt Linked Frameworks and Libraries hinzugefügt.
    • Fügen Sie unter Linked Frameworks and Libraries die folgenden Frameworks hinzu:
      • IBMMobileFirstPlatformFoundationJSONStore.framework
      • sqlcipher.framework
      • openssl.framework
      • Localizations.bundle
    • Hinweis: Mit diesen Schritten werden die relevanten MobileFirst-Platform-Foundation-Frameworks zu Ihrem Projekt hinzugefügt und in der Liste Link Binary with Libraries auf der Registerkarte Build Phases verlinkt. Wenn Sie die Dateien mit ihrer Ursprungsposition verlinken (ohne wie oben beschrieben die Option Copy items if needed auszuwählen), müssen Sie die Suchpfade für Frameworks (Framework Search Paths) wie unten angegeben definieren.
  • Die in Schirtt 1 hinzugefügten Frameworks würden automatisch zum Abschnitt Link Binary with Libraries der Registerkarte Build Phases hinzugefügt werden.
  • Optional: Wenn Sie die Frameworkdateien nicht wie oben beschrieben in Ihr Projekt kopiert haben, verwenden Sie die Option Copy items if needed auf der Registerkarte Build Phases und führen Sie die folgenden Schritte aus.
    • Öffnen Sie die Seite Build Settings.
    • Suchen Sie den Abschnitt Search Paths.
    • Fügen Sie zum Ordner Framework Search Paths den Pfad zu dem Ordner mit den Frameworks hinzu.
  • Wählen Sie im Abschnitt Deployment der Registerkarte Build Settings für das Feld iOS Deployment Target einen Wert größer-gleich 8.0 aus.
  • Optional: Ab Xcode 7 ist Bitcode als Standard festgelegt. Informationen zu Einschränkungen und Voraussetzungen finden Sie unter Arbeiten mit Bitcode in iOS-Apps. Sie können Bitcode wie folgt inaktivieren:
    • Öffnen Sie den Abschnitt Build Options.
    • Setzen Sie Enable Bitcode auf No.
  • Ab Xcode 7 muss TLS umgesetzt werden (siehe TLS-gesicherte Verbindungen in iOS-Apps erzwingen).

Anwendung registrieren

  1. Öffnen Sie ein Befehlszeilenfenster und navigieren Sie zum Stammverzeichnis des Xcode-Projekts.

  2. Führen Sie den folgenden Befehl aus:

     mfpdev app register
    

    Sie werden aufgefordert, die Bundle-ID anzugeben. Wichtiger Hinweis: Bei der Bundle-ID muss die Groß-/Kleinschreibung beachtet werden.

Der CLI-Befehl mfpdev app register stellt zunächst eine Verbindung zu MobileFirst Server her, um die Anwendung zu generieren. Anschließend wird die Datei mfpclient.plist im Stammverzeichnis des Xcode-Projekts generiert, zu der Metadaten, die den MobileFirst Server angeben, hinzugefügt werden.

Tipp: Sie können Anwendungen auch über die MobileFirst Operations Console registrieren:

  1. Laden Sie die MobileFirst Operations Console.
  2. Klicken Sie neben Anwendungen auf die Schaltfläche Neu, um eine neue Anwendung zu registrieren. Folgen Sie den angezeigten Anweisungen.
  3. Navigieren Sie nach der Anwendungsregistrierung zum Anwendungsregister Konfigurationsdateien und kopieren Sie die Datei mfpclient.plist laden Sie diese Datei herunter. Folgen Sie den angezeigten Anweisungen, um die entsprechende Datei zu Ihrem Projekt hinzuzufügen.

Setup-Prozess abschließen

Klicken Sie in Xcode mit der rechten Maustaste auf den Projekteintrag und wählen Sie Add Files To [Projektname] aus. Wählen Sie dann die Datei mfpclient.plist im Stammverzeichnis des Xcode-Projekts aus.

SDK referenzieren

Wenn Sie das native Mobile Foundation-SDK verwenden möchten, müssen Sie das Framework der Mobile Foundation importieren:

Objective-C:

#import <IBMMobileFirstPlatformFoundation/IBMMobileFirstPlatformFoundation.h>

Swift:

import IBMMobileFoundationSwift


Hinweis zu iOS ab Version 9:

Ab Xcode 7 ist Application Transport Security (ATS) standardmäßig aktiviert. Sie können ATS während der Entwicklung für die Ausführung von Apps inaktivieren. (Lesen Sie hier mehr.)

  1. Klicken Sie in Xcode mit der rechten Maustaste auf [Projekt]/info.plist → Open As → Source Code.
  2. Fügen Sie Folgendes ein:
     <key>NSAppTransportSecurity</key>
     <dict>
           <key>NSAllowsArbitraryLoads</key>
           <true/>
     </dict>

Unterstützung für Apple watchOS hinzufügen

Wenn Sie für Apple watchOS ab Version 2 entwickeln, muss die Podfile Abschnitte entsprechend der Haupt-App und der watchOS-Erweiterung enthalten. Es folgt ein Beispiel für watchOS 2:

# Durch den Namen Ihrer watchOS-Anwendung ersetzen
xcodeproj 'MyWatchApp'

use_frameworks!

# Namen des iOS-Ziels verwenden
target :MyWatchApp do
    platform :ios, 9.0
    pod 'IBMMobileFirstPlatformFoundation'
    end

# Namen des watch-Erweiterungsziels verwenden
target :MyWatchApp WatchKit Extension do
    platform :watchos, 2.0
    pod 'IBMMobileFirstPlatformFoundation'
end

Vergewissern Sie sich, dass das Xcode-Projekt geschlossen ist, und führen Sie den Befehl pod install aus.

Natives MobileFirst-SDK aktualisieren

Wenn Sie das native SDK der Mobile Foundation auf den neuesten Releasestand bringen wollen, führen Sie in einem Befehlszeilenfenster im Stammverzeichnis des Xcode-Projekts den folgenden Befehl aus:

pod update

SDK-Releases sind im CocoaPods-Repository für das jeweilige SDK enthalten.

Generierte Artefakte des nativen MobileFirst-SDK

mfpclient.plist

In dieser Datei, die sich im Stammverzeichnis des Projekts befindet, sind die clientseitigen Eigenschaften für die Registrierung Ihrer iOS-App bei MobileFirst Server definiert.

Eigenschaft Beschreibung Beispielwerte
protocol Protokoll für die Kommunikation mit MobileFirst Server http oder https
host Hostname von MobileFirst Server 192.168.1.63
port Port von MobileFirst Server 9080
wlServerContext Kontextstammverzeichnis der Anwendung auf dem MobileFirst Server /mfp/
languagePreferences Legt die Standardsprache für Client-SDK-Systemnachrichten fest en

Bitcode und TLS 1.2

Informationen zur Unterstützung für Bitcode und TLS 1.2 finden Sie auf der Seite Zusätzliche Informationen.

Nächste Lernprogramme

Jetzt, da das native Mobile Foundation-SDK integriert ist, können Sie Folgendes tun:

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on May 13, 2020