Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

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

Mit Trail Together einem Dozenten folgen

Möchten Sie bei diesem Schritt einem Experten folgen? Schauen Sie sich dieses Video an, das Teil der Reihe "Trail Together" ist.

(Dieser Clip beginnt bei Minute 22:11, für den Fall, dass Sie zurückspringen und den Anfang des Schritts noch einmal sehen möchten.)

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" im Projekt Einrichten Ihrer Mobile SDK-Entwicklertools.
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, Networking und REST-APIs.
  • SmartStore implementiert sicheren Offline-Speicher. Hängt von SalesforceSDKCore ab.
  • MobileSync 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.
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 "Einrichten Ihrer iOS-Entwicklungsumgebung" im Projekt Einrichten Ihrer Mobile SDK-Entwicklertools 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. 
    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!
      ...
  4. 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, deklarieren Sie den Pod SalesforceSDKCore in Ihrer Podfile-Datei: 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.
  5. Wenn Sie weitere Module hinzufügen möchten, ersetzen Sie SalesforceSDKCore durch eine andere Pod-Deklaration. Gehen Sie beispielsweise wie folgt vor, um MobileSync zu verwenden:

    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.
  6. (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.
  7. 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
  8. Führen Sie in einem Terminalfenster pod install in Ihrem Projektverzeichnis 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.
    Hinweis: Greifen 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".
  9. Um Mobile SDK-APIs in Objective-C-Anwendungen zu verwenden, importieren Sie Header-Dateien mit spitzen Klammern ("<" und ">") und nicht mit doppelten Anführungszeichen. Beispiel:

    #import <SalesforceSDKCore/SFRestAPI.h>
Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"