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
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 deSalesforceSDKCore
. -
MobileSync
– implanta sincronização offline. Dependente deSmartStore
. -
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.
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.
- Instale os cocoapods Ruby gem conforme descrito em Configurar seu ambiente de desenvolvimento iOS no projeto Configurar suas ferramentas de desenvolvedor do Mobile SDK.
- 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' ...
- 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! ...
- 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. - Para adicionar outros módulos, substitua
SalesforceSDKCore
por outra declaração de pod diferente. Por exemplo, para usar oMobileSync
: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 podMobileSync
depende deSmartStore
eSalesforceSDKCore
, você não precisa declará-los explicitamente. - (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.
- No prompt do Terminal, clone github.com/forcedotcom/SalesforceMobileSDK-iOS localmente na confirmação desejada.
- Mude os diretórios para o novo clone. (Se você não especificou um caminho personalizado, use
cd SalesforceMobileSDK-iOS
.) - Execute
git checkout dev
para alternar para a ramificação de desenvolvimento. - Execute
./install.sh
no diretório raiz do clone. - Para cada chamada pod no seu Podfile, adicione um parâmetro
:path
que aponta para seu clone.
- 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
- 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 porpod install
. Por exemplo, em vez de abrir MyProject.xcodeproj, abra MyProject.xcworkspace. - 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>