Ajout du kit Mobile SDK à un projet existant

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Utiliser CocoaPods pour ajouter le kit de développement mobile à une application iOS native existante
  • Utiliser CocoaPods pour mettre à jour une application du kit de développement Mobile SDK pour iOS natif
  • Comprendre l’interdépendance des Pods du kit de développement Mobile SDK

Utilisation de CocoaPods avec le kit de développement mobile

Si vous disposez déjà d’applications iOS que vous mettez à niveau à l’aide du kit de développement mobile, cette unité peut vous indiquer comment utiliser CocoaPods pour fusionner vos modules existants avec les modules du kit de développement. Pour commencer à utiliser CocoaPods, consultez Configuration de votre environnement de développement iOS.
Remarque

Remarque

CocoaPods est un gestionnaire de dépendances open-source tiers. Il est pris en charge par le kit de développement mobile et requis par forceios, mais son utilisation n’est pas nécessaire pour développer sur iOS à l’aide du kit. Consultez la section « Ressources » à la fin de cette page pour obtenir un lien vers les instructions de création manuelle d’un projet.

À compter de la version 4.0 du kit de développement mobile, forceios emploie CocoaPods pour créer des projets. Les développeurs peuvent également utiliser CocoaPods manuellement pour ajouter le kit de développement mobile à des applications iOS existantes.

Le kit de développement mobile fournit des spécifications de pods CocoaPods, aussi appelées podspecs, pour chaque module du kit.

  • SalesforceSDKCore : implémente OAuth, les codes secrets, les réseaux et les API REST. Tous les autres Pods dépendent, directement ou indirectement, de ce Pod.
  • SmartStore : implémente le stockage hors ligne sécurisé. Dépend de SalesforceSDKCore.
  • Mobile Sync : implémente la synchronisation hors ligne. Dépend de SmartStore.
  • SalesforceAnalytics : implémente un mécanisme de génération de rapports qui envoie à Salesforce des statistiques anonymes sur l’utilisation et la popularité des fonctionnalités du kit de développement mobile.
  • SalesforceSDKCommon : un ensemble d’utilitaires partagés dans le kit de développement.
Le schéma ci-dessous illustre les dépendances entre les spécifications. Sur ce schéma, les flèches vont des spécifications dépendantes vers leurs dépendances.
Dépendances des subspec SalesforceMobileSDK-iOS.podspec
Si vous déclarez un Pod, vous obtenez automatiquement tous les éléments de la chaîne de dépendance de ce Pod. Par exemple, en déclarant un pod pour Mobile Sync, vous obtenez automatiquement les pods SmartStore et SalesforceSDKCore. Ce raccourci ne s'applique qu'aux pods de production.

Pour utiliser CocoaPods avec la version actuelle du kit de développement mobile, procédez comme suit.

  1. Assurez-vous d’avoir installé le fichier GEM Ruby cocoapods conformément aux instructions figurant dans Configuration de votre environnement de développement iOS.
  2. Dans le Podfile de votre projet, ajoutez le référentiel SalesforceMobileSDK-iOS-Specs en tant que source. Placez bien cette entrée en premier, avant le chemin source de 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. Ajoutez use_frameworks! pour pouvoir prendre en charge les infrastructures dynamiques.
  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. Référencez la podspec du kit de développement mobile que vous souhaitez fusionner dans votre application. Par exemple, pour ajouter les modules relatifs à OAuth et aux codes secrets à votre application, déclarez le pod SalesforceSDKCore dans votre Podfile. Par exemple :
    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
    Cette configuration de pod représente le minimum requis pour une application conçue avec le kit de développement mobile.
  6. Pour ajouter d’autres modules, remplacez SalesforceSDKCore par une déclaration de pod différente. Par exemple, pour utiliser 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
    Étant donné que le pod MobileSync dépend de SmartStore et de SalesforceSDKCore, il n’est pas nécessaire de déclarer explicitement ces pods.
  7. (Autre méthode) Pour utiliser la prochaine version du kit de développement mobile, vous devrez cloner le dépôt SalesforceMobileSDK-iOS, accéder à la branche dev et extraire les ressources qu’elle contient. Dans ce cas, vous devez déclarer explicitement chaque dépendance de pré-version afin d’indiquer son chemin sur le dépôt. Si vous omettez une déclaration de dépendance, CocoaPods charge sa version du produit.
    1. Lorsque l’invite du terminal apparaît, clonez github.com/forcedotcom/SalesforceMobileSDK-iOS localement dans la validation souhaitée.
    2. Remplacez les répertoires en indiquant celui de votre nouveau clone. (Si vous n’aviez pas spécifié de chemin personnalisé, utilisez cd SalesforceMobileSDK-iOS.)
    3. Exécutez git checkout dev pour basculer sur la branche de développement.
    4. Exécutez ./install.sh dans le répertoire racine de votre clone.
    5. Pour chaque appel de Pod dans votre Podfile, ajoutez un paramètre :path qui pointe vers votre clone.
  8. Voici l'exemple précédent redéfini pour extraire les ressources d'un clone local :
    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. Dans une fenêtre de terminal, exécutez pod install depuis le répertoire de votre projet. CocoaPods télécharge les dépendances des pods requis, les fusionne dans votre projet et crée un espace de travail contenant le projet nouvellement fusionné. Important :Après avoir exécuté CocoaPods, n’accédez à votre projet que depuis l’espace de travail qui a été créé par pod install. Par exemple, au lieu d’ouvrir MonProjet.xcodeproj, ouvrez MonProjet.xcworkspace.
  10. Pour utiliser les API du kit de développement mobile dans votre application fusionnée, gardez à l’esprit ces précieux conseils.
    1. Dans les applications Objective-C, utilisez des crochets obliques (« < » et « > ») à la place des guillemets doubles pour importer les fichiers d’en-tête. Par exemple :
      #import <SalesforceSDKCore/SFRestAPI.h>
Formez-vous gratuitement !
Créez un compte pour continuer.
Qu’est-ce que vous y gagnez ?
  • Obtenez des recommandations personnalisées pour vos objectifs de carrière
  • Mettez en pratique vos compétences grâce à des défis pratiques et à des questionnaires
  • Suivez et partagez vos progrès avec des employeurs
  • Découvrez des opportunités de mentorat et de carrière