Sie können für Ihr vorhandenes natives iOS-Projekt
mit dem iOS-SDK der IBM
MobileFirst Platform Foundation auf
V8.0.0 umstellen.
Verwenden Sie
CocoaPods, um
die erforderlichen Änderungen an der Projektkonfiguration vorzunehmen.
Vorbereitende Schritte
Anmerkung: Die MobileFirst-Entwicklung
wird in Xcode ab Version 7.1 für iOS ab Version 8.0 unterstützt.
Folgende Voraussetzungen müssen erfüllt sein:
- In Ihrer Entwicklungsumgebung muss CocoaPods installiert sein. Weitere Informationen finden Sie
in der Veröffentlichung Getting Started für die CocoaPods-Installation.
- Xcode 7.1 mit iOS ab Version 8.0 muss für Ihre Entwicklungsumgebung verfügbar sein.
- Sie benötigen eine in MobileFirst ab Version
6.2 integrierte
App.
Informationen zu diesem Vorgang
Das SDK enthält erforderliche und optionale SDKs. Für jedes erforderliche oder optionale SDK gibt es einen eigenen Pod.
Der erforderliche Pod
IBMMobileFirstPlatformFoundation ist der Kern des Systems. Er implementiert Client-Server-Verbindungen und ist für Sicherheit, Analysen und das Anwendungsmanagement zuständig.
Die folgenden
optionalen Pods stellen zusätzliche Features bereit.
Tabelle 1. Pods für die Installation optionaler Frameworks| Pod |
Feature |
| IBMMobileFirstPlatformFoundationPush |
Fügt das Framework IBMMobileFirstPlatformFoundationPush zur Aktivierung von Push hinzu. Weitere Informationen finden Sie unter
Push-Benachrichtigung. |
| IBMMobileFirstPlatformFoundationJSONStore |
Implementiert das JSONStore-Feature. Nehmen Sie diesen Pod in Ihre Podfile auf, wenn Sie das
JSONStore-Feature in Ihrer App verwenden möchten (siehe JSONStore). |
| IBMMobileFirstPlatformFoundationOpenSSLUtils |
Enthält das in MobileFirst eingebettete
OpenSSL-Feature und lädt automatisch das Framework openssl. Nehmen Sie diesen Pod in Ihre
Podfile auf, wenn Sie MobileFirst-OpenSSL verwenden möchten. Weitere Informationen zu
OpenSSL-Optionen finden Sie unter OpenSSL für iOS aktivieren. |
Vorgehensweise
- Öffnen Sie Ihr Projekt in Xcode.
- Löschen Sie den Ordner WorklightAPI. (Verschieben Sie es ihn den Papierkorb.)
- Modifizieren Sie Ihren vorhandenen Code wie folgt:
- Entfernen Sie $(SRCROOT)/WorklightAPI/include aus dem Headersuchpfad.
- Entfernen Sie $(PROJECTDIR)/WorklightAPI/frameworks aus dem
Frameworksuchpfad.
- Entfernen Sie alle Verweise auf die statische BibliotheklibWorklightStaticLibProjectNative.a.
- Entfernen Sie auf der Registerkarte Build Phases alle Verbindungen zu den folgenden
Frameworks und Bibliotheken (die von
CocoaPods automatisch wieder hinzugefügt werden):
- libWorklightStaticLibProjectNative.a
- SystemConfiguration.framework
- MobileCoreServices.framework
- CoreData.framework
- CoreLocation.framework
- Security.framework
- sqlcipher.framework
- libstdc++.6.dylib
- libz.dylib
- Schließen Sie Xcode.
- Rufen Sie mit CocoaPods das iOS-SDK der
IBM
MobileFirst Platform Foundation
ab. Führen Sie die folgenden Schritte aus, um das SDK abzurufen:
- Öffnen Sie von der Position Ihres neuen Xcode-Projekts aus ein Terminal.
- Führen Sie den Befehl pod init aus, um eine
Podfile zu erstellen.
- Öffnen Sie in einem Texteditor die Podfile, die sich im Stammverzeichnis
des Projekts befindet.
- Setzen Sie den vorhandenen Inhalt auf Kommentar oder entfernen Sie ihn.
- Fügen Sie die folgenden Zeilen hinzu und speichern Sie die Änderungen, einschließlich der iOS-Version:
use_frameworks!
platform :ios, 9.0
pod 'IBMMobileFirstPlatformFoundation'
- Geben Sie weitere Pods aus der obigen Liste in der Datei an, wenn Ihre App die Funktionalität dieser Pods benötigt. Wenn Ihre App beispielsweise OpenSSL verwendet,
könnte die Podfile etwa wie folgt aussehen:
use_frameworks!
platform :ios, 9.0
pod 'IBMMobileFirstPlatformFoundation'
pod 'IBMMobileFirstPlatformFoundationOpenSSLUtils'
Eine Liste optionaler Pods finden Sie unter
Pods
für die Installation optionaler Frameworks.
Anmerkung: Mit der oben dargestellten Syntax wird die neueste Version des Pods
IBMMobileFirstPlatformFoundation importiert. Wenn Sie nicht die neueste Version von
MobileFirst verwenden, müssen Sie
die vollständige Versionsnummer (einschließlich der übergenordneten Version, der untergeordneten Version und des Patches) angeben. Die Patch-Nummer
hat das Format
AAAAMMDDHH. Für den Import der Patch-Version
8.0.2016021411
des Pods
IBMMobileFirstPlatformFoundation würde die Zeile wie folgt aussehen:
pod 'IBMMobileFirstPlatformFoundation', '8.0.2016021411'
Zum Abrufen des neuesten Patch für die untergeordnete Versionsnummer lautet die Syntax wie folgt:
pod 'IBMMobileFirstPlatformFoundation', '~>8.0.0'
- Vergewissern Sie sich, dass das Xcode-Projekt geschlossen ist.
- Führen Sie den Befehl pod install aus.
Dieser Befehl installiert
das IBMMobileFirstPlatformFoundation.framework aus dem MobileFirst-SDK
und weitere in der Podfile angegebene Frameworks mit den zugehörigen Abhängigkeiten.
Anschließend generiert er das Pods-Projekt und integriert das
MobileFirst-SDK in das Clientprojekt.
- Öffnen Sie Ihre Datei Projektname.xcworkspace in
Xcode. Geben Sie dazu in einer Befehlszeile open Projektname.xcworkspace ein. Die Datei befindet sich in demselben Verzeichnis wie die Datei
Projektname.xcodeproj.
- Ersetzen Sie alle vorhandenen MobileFirst-Importe in Headern durch
nur einen Eintrag im folgenden neuen Umbrella-Header:
Wenn Sie Push oder JSONStore verwenden, müssen Sie einen unabhängigen Import aufnehmen.
- Push
-
- JSONStore
-
- Fügen Sie auf der Registerkarte Build Settings unter Other
Linker Flags am Anfang des Flags -ObjC $(inherited) hinzu. Beispiel:
Abbildung 1. $(inherited) zum Flag ObjC in den Xcode-Buildeinstellungen hinzufügen
- Ab Xcode 7 muss TLS umgesetzt werden (siehe
TLS-gesicherte Verbindungen in iOS-Apps erzwingen).
Ergebnisse
Ihre Anwendung ist jetzt aktualisiert und kann mit dem iOS SDK von
IBM
MobileFirst Platform Foundation
V8.0.0 verwendet werden.