Intégration de la bibliothèque dans une application Swift

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Avant de commencer, vous devez télécharger notre SDK via l’application Tag Composer ou LiveTagging en vous connectant à votre compte AT Internet. Vous pouvez également utiliser CocoaPods,  Carthage ou Git.

 

Utilisation de TagComposer

 

Contenu de l’archive

Une fois configurée et téléchargée, décompressez le contenu de l’archive sur votre ordinateur.
folder_content

Le contenu se compose d’un sous-dossier pour le marquage des applications (app), et d’un sous-dossier pour le marquage des extensions d’application (extension). Pour chacun de ces sous-dossiers, on trouve un dossier pour la compilation à destination d’un simulateur iOS (simulator) et un dossier pour la compilation à destination d’un appareil iOS (device).

Ce dernier dossier contient également les éléments nécessaires à la soumission de votre application marquée avec notre SDK sur l’App Store. Les fichiers avec l’extension .bcsymbolmap et .dSYM sont utiles lorsque vous souhaitez activer le support du bitcode et les rapports de crash iTunes Connect.

Le framework en tant que tel est le fichier avec l’extension .framework.

 

Intégration dans Xcode

Ouvrez votre application Swift via Xcode.

Attention, la bibliothèque Swift n’est compatible qu’à partir des versions 8 et ultérieures d’iOS.

swift_integration_xcode

Pour lier notre bibliothèque à votre projet, sélectionnez la target correspondante, puis repérez la section Embedded Binaries :

swift_integration_embedded_binaries Cliquez sur le +, puis sur Add other… et sélectionnez la bibliothèque précédemment décompressée.

Liez seulement le framework adaptée au type de votre target. Par exemple SmartTracker.framework pour une application iOS, tvOSTracker.framework pour une application tvOS…

swift_integration_add_other

Cliquez sur finish en veillant à cocher la case Copy items if needed. Un fichier SmartTracker.framework apparaît dans l’arborescence de votre projet.

screen_embed_binary

Si votre projet ne propose pas de section Embedded Binaries en raison du type de la target (une extension Today Widget par exemple), il faut lier notre bibliothèque dans la section Linked Frameworks and Libraries, puis l’ajouter au bundle de l’application dans la section Copy Files (avec la destination Frameworks) qui se trouve dans l’onglet Build Phases des paramètres de votre target.

 

 Swift > 3.2 & iOS SmartTracker

Le SmartTracker est susceptible d’utiliser la librairie SocketIO, qui possède une dépendance à CommonCrypto. Si vous obtenez le message d’erreur « Missing required module ATCommon Crypto » il faut ajouter le chemin  $(SRCROOT)/SmartTracker.framework/zlib dans import paths comme indiqué ci-dessous :

Si vous ne souhaitez pas avoir de dépendances externes, vous pouvez utiliser notre Tracker.framework.

Si vous souhaitez utiliser les rapports de crash d’iTunes Connect et le support du bitcode au moment de la soumission de votre application marquée avec notre SDK, il vous suffit de rajouter une étape Copy Files Phase à la compilation de votre projet. Prenez exemple sur la capture d’écran ci-dessous :

Il est important d’ajouter les fichiers .bcsymbolmap et .dSYM qui sont dans le même dossier que le fichier .framework utilisé.

copy_files_phase

 

 

Intégration de la bibliothèque dans une application Objective-C

Si vous voulez intégrer notre librairie dans une application en objective-c, vous devez effectuer une manipulation supplémentaire en configurant dans Build Settings la propriété Always Embed Swift Standard Libraries à yes

integration-objc

 

Utilisation de CocoaPods

Vous devez mettre à jour le Podfile de votre projet.

Vous devez absolument surcharger la configuration par défaut du Tracker.

Exemple de Podfile :

 

 

Utilisation de Carthage

Vous devez absolument surcharger la configuration par défaut du Tracker.

Vous devez modifier le fichier Cartfile en ajoutant la ligne suivante :

  • Après avoir lancé la commande carthage update, ajouter la dépendance au framework présent dans le répertoire Projet/Carthage/Build/iOS/Tracker.framework dans Linked Frameworks and Libraries
  • Dans les build phases du projet, ajouter une new run script phase avec comme commande /usr/local/bin/carthage copy-frameworks et comme input files $(SRCROOT)/Carthage/Build/iOS/Tracker.framework
  • Enfin, dans les build phases ajouter une new copy files phase, dans la liste déroulante destination, sélectionner Products directory et ajouter le fichier Tracker.framework.dSYM

 

 

Considérations sur App Transport Security

Dans le cas où votre application est compilée avec le SDK pour iOS 9+, vous devez ajouter des clés de configuration pour la gestion d’Application Transport Security dans le fichier info.plist de votre target.

Veillez à adapter la valeur du domaine xiti.com si vous utilisez un domaine personnalisé.

Si vous utilisez un collecteur non sécurisé, ajouter les clés suivantes :

Configuration ATS HTTP

Si vous utilisez un collecteur sécurisé, ajouter les clés suivantes :

Configuration ATS HTTPS

La bibliothèque est désormais prête à être utilisée.

 

Déploiement sur l’App Store

Si l’archive à été téléchargé depuis TagComposer, vous avez téléchargé un framework universel (compatible pour les téléphones et les simulateurs) c’est à dire qu’il embarque le code binaire pour les architectures mobiles (arm) et simulateur (x86_64, i386…). Vous aurez probablement besoin d’enlever le code binaire des simulateurs pour pouvoir pousser votre projet sur itunes connect à l’aide de l’outil lipo.

Exemple d’utilisation de lipo

Cet article vous a-t-il été utile ?
Oui
Non
Dernière mise à jour : 29/08/2018