Vorhandene native iOS-Projekte mit CocoaPods auf V8.0.0 umstellen

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

  1. Öffnen Sie Ihr Projekt in Xcode.
  2. Löschen Sie den Ordner WorklightAPI. (Verschieben Sie es ihn den Papierkorb.)
  3. Modifizieren Sie Ihren vorhandenen Code wie folgt:
    1. Entfernen Sie $(SRCROOT)/WorklightAPI/include aus dem Headersuchpfad.
    2. Entfernen Sie $(PROJECTDIR)/WorklightAPI/frameworks aus dem Frameworksuchpfad.
    3. Entfernen Sie alle Verweise auf die statische BibliotheklibWorklightStaticLibProjectNative.a.
  4. 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
  5. Schließen Sie Xcode.
  6. Rufen Sie mit CocoaPods das iOS-SDK der IBM MobileFirst Platform Foundation ab. Führen Sie die folgenden Schritte aus, um das SDK abzurufen:
    1. Öffnen Sie von der Position Ihres neuen Xcode-Projekts aus ein Terminal.
    2. Führen Sie den Befehl pod init aus, um eine Podfile zu erstellen.
    3. Öffnen Sie in einem Texteditor die Podfile, die sich im Stammverzeichnis des Projekts befindet.
    4. Setzen Sie den vorhandenen Inhalt auf Kommentar oder entfernen Sie ihn.
    5. 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'
    6. 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'
    7. Vergewissern Sie sich, dass das Xcode-Projekt geschlossen ist.
    8. 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.

  7. Ö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.
  8. Ersetzen Sie alle vorhandenen MobileFirst-Importe in Headern durch nur einen Eintrag im folgenden neuen Umbrella-Header:
    • Objective-C:
      #import <IBMMobileFirstPlatformFoundation/IBMMobileFirstPlatformFoundation.h>
    • Swift:
      import IBMMobileFirstPlatformFoundation
    Wenn Sie Push oder JSONStore verwenden, müssen Sie einen unabhängigen Import aufnehmen.
    Push
    • Objective-C:
      #import
      <IBMMobileFirstPlatformFoundationPush/IBMMobileFirstPlatformFoundationPush.h>
    • Swift:
      import IBMMobileFirstPlatformFoundationPush
    JSONStore
    • Objective-C:
      #import <IBMMobileFirstPlatformFoundationJSONStore/IBMMobileFirstPlatformFoundationJSONStore.h>
    • Swift:
      import IBMMobileFirstPlatformFoundationJSONStore
  9. 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
    Xcode-Registerkarte 'Build Settings' mit der Stelle, an der $(inherited) am Anfang des Flags 'ObjC' hinzugefügt werden muss
  10. 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.

Nächste Schritte