Pular para o conteúdo principal

Integração nativa

Remotamente

Iniciando a instalação

  pod init

Nosso SDK pode ser importado utilizando CocoaPods.

SDKVersão atual
ZaigIosDeviceScanpod 'ZaigIosDeviceScan', '~> 1.4.1'

Para iniciar a instalação, execute o comando ao lado na pasta raiz do seu projeto.

Adicionando a source na podfile

   source 'https://github.com/ZaigCoding/iOS.git'

O próximo passo é adicionar no arquivo podfile o source da QI Tech.

Adicionando o pod na podfile

  pod 'ZaigIosDeviceScan', '~> <version>'

Por fim, basta adicionar o nome do pod de acordo com o formato acima.

Exemplo de podfile

  source 'https://github.com/ZaigCoding/iOS.git'
target 'ExampleApp' do
use_frameworks!
pod 'ZaigIosDeviceScan', '~> 1.4.1'
end

post_install do |installer|
installer.pods_project.targets.each do |target|
if ['DatadogCore', 'DatadogInternal', 'DatadogCrashReporting', 'DatadogLogs'].include?(target.name)
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
end
Atenção

É necessário habilitar a estabilidade do módulo para a dependência de monitoramento 'Datadog'. Para evitar possíveis problemas de compilação para diferentes versões do swift. Portanto, adicione o bloco descrito no post_install do seu arquivo Podfile (ou inclua-o no bloco post_install existente, caso já tenha um)

Atenção

Ao integrar dependências no iOS, pode surgir a necessidade de usar linkagem estática para algumas bibliotecas e dinâmica para outras. Essa configuração é relevante para garantir compatibilidade, evitar erros de build e otimizar o desempenho do projeto.

Linkagem Híbrida de Dependências (caso necessário)

A necessidade de linkagem híbrida surge porque algumas bibliotecas têm requisitos específicos, sendo que algumas precisam de linkagem estática para evitar conflitos internos e duplicação de símbolos e outras dependências podem precisar linkagem dinâmica, pois são projetadas para modularidade e compartilhamento entre projetos.

Diferenças Entre Linkagem Estática e Dinâmica

  • Estática (static_framework): O código da biblioteca é incorporado diretamente no binário final, reduzindo o tempo de carregamento em runtime e eliminando dependências externas durante a execução.
  • Dinâmica (dynamic_framework): A biblioteca é carregada em tempo de execução como um arquivo separado. Isso reduz o tamanho do binário final e facilita atualizações/modificações independentes.

Configurando linkagem híbrida no Podfile

...

use_frameworks! :linkage => :dynamic # CONFIGURANDO O MODO PADRÃO DE LINKAGEM PARA DINÂMICO

...

static_frameworks = ['framework_1', 'framework_2', ...] # INCLUIR TODAS AS DEPENDÊNCIAS QUE PRECISAM SER LINKADAS DE MODO ESTÁTICO
pre_install do |installer|
installer.pod_targets.each do |pod|
if static_frameworks.include?(pod.name)
def pod.static_framework?;
true
end
def pod.build_type;
Pod::BuildType.static_framework
end
end
end
end

Instalando as dependencias

  pod install

Por fim, execute o comando pod install para baixar e instalar as dependências.