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
Vidéo de démonstration Trail Together
Vous souhaitez être guidé pas à pas par un expert pendant que vous travaillez sur cette étape ? Regardez cette vidéo qui fait partie de la série Trail Together.
(Ce clip commence à 22 min 11 s, au cas où vous voudriez revenir en arrière et regarder à nouveau le début de l’étape.)
Utilisation de CocoaPods avec le kit de développement mobile
À 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. -
SmartStore
: implémente le stockage hors ligne sécurisé. Dépend deSalesforceSDKCore
. -
MobileSync
: implémente la synchronisation hors ligne. Dépend deSmartStore
. -
SalesforceAnalytics
: implémente un mécanisme de génération de rapports qui envoie des statistiques Salesforce anonymes sur l’utilisation et la popularité des fonctionnalités du kit de développement mobile. -
SalesforceSDKCommon
: utilitaires partagés dans le kit de développement.
MobileSync
, 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.
- Assurez-vous que vous avez installé le fichier GEM Ruby cocoapods conformément aux instructions figurant dans la section Configuration de votre environnement de développement iOS du projet Configuration de vos outils de développeurs Kit de développement mobile.
- 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' ...
- Ajoutez
use_frameworks!
pour pouvoir prendre en charge les infrastructures dynamiques.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! ...
- Référencez la podspec du kit de développement mobile que vous souhaitez fusionner dans votre application. Par exemple, pour ajouter OAuth et les modules de code secret à 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. - Pour ajouter d'autres modules, remplacez
SalesforceSDKCore
par une déclaration de pod différente. Par exemple, pour utiliserMobileSync
: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 podMobileSync
dépend deSmartStore
et deSalesforceSDKCore
, il n’est pas nécessaire de déclarer explicitement ces pods. - (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.
- Lorsque l’invite du terminal apparaît, clonez github.com/forcedotcom/SalesforceMobileSDK-iOS localement dans la validation souhaitée.
- 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
.) - Exécutez
git checkout dev
pour basculer sur la branche de développement. - Exécutez
./install.sh
dans le répertoire racine de votre clone. - Pour chaque appel de Pod dans votre Podfile, ajoutez un paramètre
:path
qui pointe vers votre clone.
- 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
- Dans la 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é.
Remarque : après avoir exécuté CocoaPods, n’accédez à votre projet que depuis l’espace de travail qui a été créé parpod install
. Par exemple, au lieu d’ouvrir MonProjet.xcodeproj, ouvrez MonProjet.xcworkspace. - Pour utiliser les API Kit de développement mobile 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>