Erfassen Sie Ihre Fortschritte
Trailhead-Startseite
Trailhead-Startseite

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:

  • Verwenden von CocoaPods, um Mobile SDK zu einer vorhandenen nativen iOS-Anwendung hinzuzufügen
  • 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 über vorhandene 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 https://cocoapods.org/.
Hinweis

Hinweis

CocoaPods ist eine Open Source-Abhängigkeitenverwaltung eines Drittanbieters. Sie wird von 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 CocoaPods-Pod-Spezifikationen (podspecs) für jedes Mobile SDK zur Verfügung.

  • SalesforceSDKCore implementiert OAuth, Zugangscodes, Networking und REST-APIs. Alle anderen Pods hängen von diesem Pod entweder direkt oder indirekt ab.
  • SmartStore implementiert sicheren Offline-Speicher. 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-Rubinstein (Ruby gem) wie unter www.cocoapods.org beschrieben installiert wurde. Das Mobile SDK 8.1 akzeptiert die Pod-Versionen 1.7.2 bis 1.8.
  2. In der Podfile-Datei Ihres Projekts fügen Sie das SalesforceMobileSDK-iOS-Spezifikationen-Repository als eine Quelle hinzu. Setzen Sie diesen Eintrag unbedingt an die erste Stelle vor dem Quellpfad 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. 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'
    
    pod 'SalesforceSDKCore'
    
    end
    
    Diese Pod-Konfiguration ist das Minimum für eine Mobile SDK-Anwendung.
  4. 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'
    
    pod 'MobileSync'
    
    end
    Da der MobileSync-Pod von SmartStore und SalesforceSDKCore abhängt, müssen diese Pods nicht explizit deklariert werden.
  5. (Alternative Methode) Um mit der nächsten Version von Mobile SDK zu arbeiten, duplizieren Sie das SalesforceMobileSDK-iOS-Repository, checken den dev-Zweig aus und ziehen die Ressourcen davon ab. 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 github.com/forcedotcom/SalesforceMobileSDK-iOS lokal beim gewünschten Commit.
    2. Führen Sie im Terminalfenster git checkout dev aus, um zum Entwicklungszweig zu wechseln.
    3. Führen Sie ./install.sh im Stammverzeichnis Ihres Klons aus.
    4. Für jeden Podaufruf in der Podfile-Datei fügen Sie einen Parameter :path hinzu, der auf Ihren Clone verweist.
    Hier sehen Sie das vorige Beispiel umfunktioniert für das Abrufen der Ressourcen von einem lokalen Clone:
    target 'YourAppName' do
    source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git' # need to be first 
    source 'https://github.com/CocoaPods/Specs.git'
    
    # 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
  6. 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.
    Wichtig

    Wichtig

    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 anstelle von MyProject.xcodeproj MyProject.xcworkspace.

  7. 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>