Agregar Mobile SDK a un proyecto existente
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Usar CocoaPods para agregar Mobile SDK a una aplicación iOS nativa existente.
- Usar CocoaPods para actualizar una aplicación de Mobile SDK existente para iOS nativo.
- Comprender cómo los entornos de Mobile SDK dependen entre sí.
Siga el proceso con Trail Together
¿Desea seguir el proceso con un experto a medida que realiza este paso? Mire este video que forma parte de la serie Trail Together.
(Este video comienza en el minuto 22:11, en caso de que desee rebobinar y mirar el comienzo del paso nuevamente).
Uso de CocoaPods con Mobile SDK
En Mobile SDK 4.0 y versiones posteriores, forceios usa CocoaPods para crear proyectos. Además, los desarrolladores pueden usar CocoaPods manualmente para agregar Mobile SDK a las aplicaciones iOS existentes.
Mobile SDK proporciona especificaciones de entorno de CocoaPods para cada módulo Mobile SDK.
-
SalesforceSDKCore
. Implementa OAuth, códigos de aprobación, redes y API de REST. -
SmartStore
. Implementa el almacenamiento offline seguro. Depende deSalesforceSDKCore
. -
MobileSync
. Implementa la sincronización offline. Depende deSmartStore
. -
SalesforceAnalytics
. Implementa un mecanismo de creación de reportes que envía estadísticas anónimas de Salesforce sobre el uso y la popularidad de funciones de Mobile SDK. -
SalesforceSDKCommon
: Utilidades compartidas a través del SDK.
MobileSync
, obtiene automáticamente el entorno de SmartStore
y SalesforceSDKCore
. Este atajo solo se aplica a entornos de producción.Para usar CocoaPods con la versión actual de Mobile SDK, siga estos pasos.
- Asegúrese de que ha instalado la gema de Ruby cocoapods como se describe en Configure su entorno de desarrollo de iOS en el proyecto Configurar las herramientas de desarrollador de Mobile SDK.
- En el archivo de entorno del proyecto, agregue el repositorio SalesforceMobileSDK-iOS-Specs como origen. Asegúrese de incluir esta entrada primero antes de la ruta de origen 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' ...
- Agregue
use_frameworks!
para admitir marcos de trabajo dinámicos.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! ...
- Haga referencia a las especificaciones de entorno de Mobile SDK que va a combinar en la aplicación. Por ejemplo, para agregar módulos de OAuth y código de aprobación a su aplicación, declare el entorno
SalesforceSDKCore
en el archivo de entorno. Por ejemplo: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
Esta configuración de entorno es la mínima para una aplicación de Mobile SDK. - Para agregar otros módulos, sustituya
SalesforceSDKCore
por una declaración de entorno diferente. Por ejemplo, para utilizarMobileSync
: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
Ya que el entorno deMobile Sync
depende deSmartStore
ySalesforceSDKCore
, no hay necesidad de declarar esos entornos explícitamente. - (Método alternativo) Para trabajar con la próxima versión de Mobile SDK, duplique el repositorio SalesforceMobileSDK-iOS, consulte la rama dev, y luego extraiga los recursos desde allí. En este caso, debe declarar cada dependencia previa a la versión explícitamente de modo que pueda indicar su ruta de repositorio. Si omite una declaración de dependencia, CocoaPods carga su versión de producción.
- En la solicitud de la Terminal, duplique github.com/forcedotcom/SalesforceMobileSDK-iOS localmente en la confirmación correspondiente.
- Cambie el directorio a su nueva duplicación. (Si no especificó una ruta personalizada, use
cd SalesforceMobileSDK-iOS
). - Ejecute
git checkout dev
para cambiar a la rama de desarrollo. - Ejecute
./install.sh
en el directorio raíz de su duplicación. - Para cada llamada de entorno del archivo de entorno, agregue un parámetro
:path
que apunte a su duplicación.
- Este es el ejemplo anterior modificado para extraer recursos de una duplicación 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
- En una ventana de terminal, ejecute
pod install
en el directorio del proyecto. CocoaPods descarga las dependencias de los entornos solicitados, las combina en el proyecto y crea un espacio de trabajo que contiene el proyecto recién combinado.
Nota: Después de ejecutar CocoaPods, acceda siempre a su proyecto desde el espacio de trabajo que creapod install
. Por ejemplo, en lugar de abrir MyProject.xcodeproj, abra MyProject.xcworkspace. - Para usar las API de Mobile SDK en aplicaciones Objective-C, importe los archivos de encabezado con corchetes angulares (< y >) en lugar de comillas dobles. Por ejemplo:
#import <SalesforceSDKCore/SFRestAPI.h>