Hinzufügen von Mobile SDK zu einem vorhandenen Projekt

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Hinzufügen des Mobile SDK zu einer vorhandenen nativen iOS-Anwendung mittels CocoaPods
  • Verwenden von CocoaPods, um eine vorhandene Mobile SDK-Anwendung für natives iOS zu aktualisieren
  • Erklären, wie Mobile SDK-Pods voneinander abhängen

Verwenden von CocoaPods mit dem Mobile SDK

Wenn Sie bereits über iOS-Anwendungen verfügen, die mit dem Mobile SDK aktualisiert werden, finden Sie in dieser Lektion nützliche Informationen, um die vorhandenen Module und die Mobile SDK-Module mithilfe von CocoaPods zusammenzuführen. Informationen für den Einstieg in CocoaPods finden Sie unter Einrichten Ihrer iOS-Entwicklungsumgebung.
Hinweis

Hinweis

CocoaPods ist eine Open Source-Abhängigkeitenverwaltung eines Drittanbieters. Sie wird vom Mobile SDK unterstützt und von forceios vorausgesetzt, ist jedoch nicht für die Mobile SDK-Entwicklung unter iOS notwendig. Im Abschnitt "Ressourcen" am Ende dieser Seite finden Sie einen Link zu Anleitungen für manuelle Projekte.

Ab Mobile SDK 4.0 verwendet forceios CocoaPods, um Projekte zu erstellen. Entwickler können CocoaPods auch manuell verwenden, um Mobile SDK vorhandenen iOS-Anwendungen hinzuzufügen.

Das Mobile SDK stellt Pod-Spezifikationen (podspecs) von CocoaPods für jedes Mobile SDK zur Verfügung.

  • SalesforceSDKCore: implementiert OAuth, Zugangscodes, Netzwerkfunktionen und REST-APIs. Alle anderen Pods hängen von diesem Pod entweder direkt oder indirekt ab.
  • SmartStore: implementiert eine sichere Offline-Speicherung. Hängt von SalesforceSDKCore ab.
  • Mobile Sync: implementiert die Offline-Synchronisierung. Hängt von SmartStore ab.
  • SalesforceAnalytics: implementiert einen Berichtsmechanismus, der Salesforce anonyme Statistiken zur Nutzung der Mobile SDK-Funktionen und deren Beliebtheit sendet.
  • SalesforceSDKCommon: Dienstprogramme, die im gesamten SDK gemeinsam genutzt werden.
In der folgenden Tabelle sehen Sie die Abhängigkeiten zwischen den Spezifikationen. In diesem Diagramm verweisen die Pfeile von den abhängigen Spezifikationen in Richtung ihrer Abhängigkeiten.
SalesforceMobileSDK-iOS.podspec subspec-Abhängigkeiten
Wenn Sie einen Pod deklarieren, erhalten Sie automatisch alles in der Abhängigkeitskette dieses Pods. Beispiel: Wenn Sie einen Pod für Mobile Sync deklarieren, erhalten Sie automatisch die Pods SmartStore und SalesforceSDKCore. Diese Verknüpfung gilt nur für Produktions-Pods.

Führen Sie die folgenden Schritte aus, um CocoaPods mit der aktuellen Version von Mobile SDK zu verwenden.

  1. Vergewissern Sie sich, dass der cocoapods-Gem Ruby wie unter www.cocoapods.org beschrieben installiert wurde.
  2. In der Podfile-Datei Ihres Projekts fügen Sie das Repository "SalesforceMobileSDK-iOS-Specs" als eine Quelle hinzu. Setzen Sie diesen Eintrag unbedingt an die erste Stelle vor den Quellpfad von CocoaPods.
    target 'YourAppName' do
      source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git' # needs to be first 
      source 'https://github.com/CocoaPods/Specs.git'
      ...
  3. Fügen Sie use_frameworks! hinzu, um dynamische Frameworks zu unterstützen.
  4. target 'YourAppName' do
      source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git' # needs to be first 
      source 'https://github.com/CocoaPods/Specs.git'
      use_frameworks!
      ...
  5. Verweisen Sie auf die Mobile SDK-Podspec, die Sie in Ihre Anwendung einbinden möchten. Um beispielsweise die Module "OAuth" und "Zugangscode" zu Ihrer Anwendung hinzuzufügen, fügen Sie die Podspec SalesforceSDKCore zu Ihrer Podfile-Datei hinzu: Beispiel:
    target 'YourAppName' do
      source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git' # needs to be first 
      source 'https://github.com/CocoaPods/Specs.git'
      use_frameworks!
      pod 'SalesforceSDKCore'
    end
    Diese Pod-Konfiguration ist das Minimum für eine Mobile SDK-Anwendung.
  6. Wenn Sie weitere Module hinzufügen möchten, ersetzen Sie SalesforceSDKCore durch eine andere Pod-Deklaration. Beispiel für das Verwenden von Mobile Sync:
    target 'YourAppName' do
      source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git' # needs to be first 
      source 'https://github.com/CocoaPods/Specs.git'
      use_frameworks!
      pod 'MobileSync'
    end
    Da der MobileSync-Pod von SmartStore und SalesforceSDKCore abhängt, müssen diese Pods nicht explizit deklariert werden.
  7. (Alternative Methode) Um mit der nächsten Version von Mobile SDK zu arbeiten, duplizieren Sie das Repository SalesforceMobileSDK-iOS, checken den Branch "dev" aus und pullen die Ressourcen daraus. In diesem Fall müssen jede Abhängigkeit vor der Veröffentlichung explizit deklarieren, um ihren Repository-Pfad angeben zu können. Wenn Sie eine Abhängigkeitsdeklaration weglassen, lädt CocoaPods seine Produktionsversion.
    1. Duplizieren Sie an der Eingabeaufforderung des Terminals github.com/forcedotcom/SalesforceMobileSDK-iOS lokal beim gewünschten Commit.
    2. Ändern Sie die Verzeichnisse entsprechend Ihrem neuen Duplikat. (Wenn Sie keinen benutzerdefinierten Pfad angegeben haben, verwenden Sie cd SalesforceMobileSDK-iOS.)
    3. Führen Sie git checkout dev aus, um zum Entwicklungs-Branch zu wechseln.
    4. Führen Sie ./install.sh im Stammverzeichnis Ihres Klons aus.
    5. Für jeden Pod-Aufruf in der Podfile-Datei fügen Sie den Parameter :path hinzu, der auf Ihr Duplikat verweist.
  8. Hier sehen Sie das vorige Beispiel umfunktioniert für das Abrufen der Ressourcen aus einem lokalen Duplikat:
    target 'YourAppName' do
      source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git' # need to be first 
      source 'https://github.com/CocoaPods/Specs.git'
      use_frameworks!
      # Specify each pre-release pod 
      pod 'SalesforceSDKCore', :path => '/<path-to-clone-of>/SalesforceMobileSDK-iOS/'
      pod 'SalesforceAnalytics', :path => '/<path-to-clone-of>/SalesforceMobileSDK-iOS/'
      pod 'SmartStore', :path => '/<path-to-clone-of>/SalesforceMobileSDK-iOS/'
      pod 'MobileSync', :path => '/<path-to-clone-of>/SalesforceMobileSDK-iOS/'
    end
  9. Führen Sie in einem Terminalfenster in Ihrem Projektverzeichnis "pod install" aus. CocoaPods lädt die abhängigen Komponenten für die angeforderten Pods herunter, fügt sie zum Projekt hinzu und erstellt eine Arbeitsumgebung mit dem neu zusammengeführten Projekt. WichtigGreifen Sie nach der Ausführung von CocoaPods immer nur über die Arbeitsumgebung, die von pod install erstellt wurde, auf Ihr Projekt zu. Öffnen Sie beispielsweise "MyProject.xcworkspace" anstelle von "MyProject.xcodeproj".
  10. Beachten Sie bei der Verwendung von Mobile SDK-APIs in Ihrer zusammengeführten Anwendung die folgenden wichtigen Tipps.
    1. In Objective-C importieren Sie Header-Dateien mit spitzen Klammern ("<" und ">") und nicht mit doppelten Anführungszeichen. Beispiel:
      #import <SalesforceSDKCore/SFRestAPI.h>
Lernen Sie weiter kostenlos!
Registrieren Sie sich für einen Account, um fortzufahren.
Was ist für Sie drin?
  • Holen Sie sich personalisierte Empfehlungen für Ihre Karriereplanung
  • Erproben Sie Ihre Fähigkeiten mithilfe praktischer Aufgaben und Quizze
  • Verfolgen Sie Ihre Fortschritte nach und teilen Sie sie mit Arbeitgebern
  • Nutzen Sie Mentoren und Karrierechancen