Skip to main content

Adicionar o Mobile SDK a um projeto existente

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Usar o CocoaPods para adicionar o Mobile SDK a um aplicativo iOS nativo existente.
  • Usar o CocoaPods para atualizar um aplicativo existente do Mobile SDK para um iOS nativo.
  • Entender como os pods do Mobile SDK dependem uns dos outros.

Acompanhar com o Trail Together

Deseja acompanhar um especialista enquanto trabalha nesta etapa? Veja este vídeo que faz parte da série Trail Together.

(Este clipe começa na marca dos 22:11:00 minutos, caso você queira retroceder e ver o início da etapa novamente.)

Como usar o CocoaPods com o Mobile SDK

Se você tem aplicativos iOS existentes que serão atualizados com o Mobile SDK, essa unidade pode ajudá-lo a usar o CocoaPods para mesclar seus módulos existentes com os módulos do Mobile SDK. Para começar a usar o CocoaPods, consulte Configurar seu ambiente de desenvolvimento iOS no projeto Configurar suas ferramentas de desenvolvedor do Mobile SDK.
Nota

O CocoaPods é um gerenciador de dependência de código aberto de terceiros. Ele é suportado pelo Mobile SDK e obrigatório para o forceios, mas não é obrigatório para o desenvolvimento com Mobile SDK no iOS. Consulte “Recursos” no final desta página para obter um link para as instruções do projeto manual.

No Mobile SDK 4.0 e em versões posteriores, o forceios usa o CocoaPods para criar projetos. Os desenvolvedores também podem usar o CocoaPods manualmente para adicionar o Mobile SDK a aplicativos iOS existentes.

O Mobile SDK fornece especificações de pod do CocoaPods, ou podspecs, para cada módulo do Mobile SDK.

  • SalesforceSDKCore – implanta OAuth, senhas, rede e APIs REST.
  • SmartStore – implanta armazenamento offline seguro. Dependente de SalesforceSDKCore.
  • MobileSync – implanta sincronização offline. Dependente de SmartStore.
  • SalesforceAnalytics – implanta um mecanismo de relatório que envia estatísticas anônimas do Salesforce sobre a popularidade e o uso do recurso Mobile SDK.
  • SalesforceSDKCommon – utilitários compartilhados por todo o SDK.
A tabela a seguir mostra as dependências entre especificações. Nessa tabela, as setas correlacionam as especificações dependentes e suas dependências.
Se você declarar um pod, receberá automaticamente tudo o que estiver na cadeia de dependência do pod. Por exemplo, ao declarar um pod para MobileSync, você receberá automaticamente os pods SmartStore e SalesforceSDKCore. Esse atalho aplica-se somente a pods de produção.

Para usar o CocoaPods com a versão atual do Mobile SDK, execute as etapas a seguir.

  1. Instale os cocoapods Ruby gem conforme descrito em Configurar seu ambiente de desenvolvimento iOS no projeto Configurar suas ferramentas de desenvolvedor do Mobile SDK.
  2. No Podfile do seu projeto, adicione o repositório SalesforceMobileSDK-iOS-Specs como origem. Coloque essa entrada primeiro, antes do caminho de origem do 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. Adicione use_frameworks! para dar suporte a estruturas dinâmicas. 
    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. Referencie o podspec do Mobile SDK que você pretende mesclar em seu aplicativo. Por exemplo, para adicionar módulos de OAuth e de senha ao seu aplicativo, declare o pod SalesforceSDKCore em seu Podfile. Por exemplo:
    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
    Essa configuração de pod é o mínimo para um aplicativo Mobile SDK.
  5. Para adicionar outros módulos, substitua SalesforceSDKCore por outra declaração de pod diferente. Por exemplo, para usar o 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
    Já que o pod MobileSync depende de SmartStore e SalesforceSDKCore, você não precisa declará-los explicitamente.
  6. (Método alternativo) Para trabalhar com o próximo lançamento do Mobile SDK, clone o repositório SalesforceMobileSDK-iOS, verifique a ramificação de desenvolvimento e efetue o pull dos recursos dela. Nesse caso, você vai precisar declarar cada dependência pré-lançamento explicitamente para poder indicar o caminho desse repositório. Se você omitir uma declaração de dependência, o CocoaPods carregará sua versão de produção.
    1. No prompt do Terminal, clone github.com/forcedotcom/SalesforceMobileSDK-iOS localmente na confirmação desejada.
    2. Mude os diretórios para o novo clone. (Se você não especificou um caminho personalizado, use cd SalesforceMobileSDK-iOS.)
    3. Execute git checkout dev para alternar para a ramificação de desenvolvimento.
    4. Execute ./install.sh no diretório raiz do clone.
    5. Para cada chamada pod no seu Podfile, adicione um parâmetro :path que aponta para seu clone.
  7. Veja o exemplo anterior realocado para efetuar o pull de recursos de um 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
  8. Em uma janela do terminal, execute pod install no diretório do projeto. O CocoaPods baixa as dependências para os pods solicitados, mescla-as no projeto e cria um espaço de trabalho contendo o projeto recém-mesclado.
    Observação: Depois de executar o CocoaPods, acesse seu projeto sempre do espaço de trabalho criado por pod install. Por exemplo, em vez de abrir MyProject.xcodeproj, abra MyProject.xcworkspace.
  9. Para usar APIs do Mobile SDK em aplicativos do Objective-C, importe arquivos de cabeçalho usando colchetes angulares (< e >) em vez de usar aspas duplas. Por exemplo:

    #import <SalesforceSDKCore/SFRestAPI.h>
Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira