Skip to main content

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

Si tiene aplicaciones iOS existentes que va a actualizar con Mobile SDK, esta unidad le ayudará a utilizar CocoaPods para combinar sus módulos existentes con módulos de Mobile SDK. Para empezar a trabajar con CocoaPods, consulte Configure su entorno de desarrollo de iOS en el proyecto Configurar las herramientas de desarrollador de Mobile SDK.
Nota

CocoaPods es un gestor de dependencias de código abierto externo. El Mobile SDK lo admite y lo requiere forceios, pero no se requiere para el desarrollo de Mobile SDK en iOS. Consulte la sección “Recursos” al final de esta página para consultar un vínculo a instrucciones de proyectos manuales.

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 de SalesforceSDKCore.
  • MobileSync. Implementa la sincronización offline. Depende de SmartStore.
  • 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.
En el siguiente gráfico se muestran las dependencias entre especificaciones. En este gráfico, las flechas van de las especificaciones dependientes a sus dependencias.
Si declara un entorno, obtiene automáticamente todo cuanto se incluye en la cadena de dependencia de dicho entorno. Por ejemplo, mediante la declaración de un entorno para 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.

  1. 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.
  2. 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'
      ...
  3. 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!
      ...
  4. 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.
  5. Para agregar otros módulos, sustituya SalesforceSDKCore por una declaración de entorno diferente. Por ejemplo, para utilizar MobileSync:

    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 de Mobile Sync depende de SmartStore y SalesforceSDKCore, no hay necesidad de declarar esos entornos explícitamente.
  6. (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.
    1. En la solicitud de la Terminal, duplique github.com/forcedotcom/SalesforceMobileSDK-iOS localmente en la confirmación correspondiente.
    2. Cambie el directorio a su nueva duplicación. (Si no especificó una ruta personalizada, use cd SalesforceMobileSDK-iOS).
    3. Ejecute git checkout dev para cambiar a la rama de desarrollo.
    4. Ejecute ./install.sh en el directorio raíz de su duplicación.
    5. Para cada llamada de entorno del archivo de entorno, agregue un parámetro :path que apunte a su duplicación.
  7. 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
  8. 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 crea pod install. Por ejemplo, en lugar de abrir MyProject.xcodeproj, abra MyProject.xcworkspace.
  9. 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>
¡Siga aprendiendo gratis!
Regístrese para obtener una cuenta y continuar.
¿Qué hay para usted?
  • Consiga recomendaciones personalizadas para sus objetivos profesionales
  • Practique sus aptitudes con retos prácticos y pruebas
  • Siga y comparta su progreso con empleadores
  • Póngase en contacto para recibir asesoramiento y oportunidades laborales