PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 25 → Compilation Appli IOS sous XCODE avec notification Firebase
Compilation Appli IOS sous XCODE avec notification Firebase
Started by fr, Apr., 01 2020 12:12 PM - 10 replies
Registered member
48 messages
Posted on April, 01 2020 - 12:12 PM
Bonjour à tous,

Je viens vers vous pour un problème lors de la compilation de mon application pour IOS, C'est la première fois que j'utilise Xcode.

Lors de la compilation je rencontre le problème suivant : ld: framework not found FBLPromises
clang: error: linker command failed with exit code 1 (use -v to see invocation)

J'ai suivi les instructions de firebase pour l'intégrer dans mon application. J'ai notamment installé COCOAPOD et créé le fichier Podfile avec les instructions suivantes :

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
# Add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'

# Add the pods for any other Firebase products you want to use in your app
# For example, to use Firebase Authentication and Cloud Firestore
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
target 'iOS Push' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!

# Pods for iOS Push

end

J'ai beau chercher sur internet ce même problème mais je n'arrive pas en vain de résoudre ce problème. J'ai déjà essayé de faire pot reintegrate et refaire podium Install et pleins d'autres manipulation mais toujours ce problème.

je vous remercie d'avance pour votre aide.
Registered member
48 messages
Posted on April, 02 2020 - 6:44 PM
Quelqu'un pour m'aider ? Merci.
Registered member
48 messages
Posted on April, 04 2020 - 11:46 AM
Bonjour, quelqu'un pour m'aider ?

J'ai corrigé mon fichier Podfile comme il suit :

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'iOS Push' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!

# Pods for iOS Push
pod 'Firebase/Analytics'

end



j'ai maintenant l'erreur suivante :

ld: library not found for -lBoringSSL-GRPC clang: error: linker command failed with exit code 1 (use -v to see invocation)

Si quelqu'un connait la solution car je suis completement perdu.
Registered member
447 messages
Posted on April, 04 2020 - 4:25 PM
As-tu intégré les librairies de ton sdk comme indiqué dans la partie 6 de cette page
https://doc.pcsoft.fr/?1000019908
N'y a t'il pas une erreur sur cette ligne
# platform :ios, '9.0'
Registered member
48 messages
Posted on April, 04 2020 - 11:59 PM
Cette ligne # platform :ios, '9.0' est générée automatiquement par la command pod init dans le terminal.

Normalement l'intégration des librairies Firebase se font via COCOAPOD dans XCODE dont voici l'extrait de la doc :

Les services Google utilisent CocoaPods pour installer et gérer les dépendances. Ouvrez une fenêtre de terminal, puis accédez à l'emplacement du projet Xcode de votre application.

Créez un fichier Podfile si vous n'en possédez pas :

pod init
Ouvrez votre fichier Podfile, puis ajoutez :

# add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'
# add pods for any other desired Firebase products
# https://firebase.google.com/docs/ios/setup…
Enregistrez le fichier, puis exécutez :

pod install
Cette opération entraîne la création d'un fichier .xcworkspace pour votre application. Utilisez-le pour tout développement à réaliser dans celle-ci.



C'est dommage qu'il n'y ai pas de documentation de la part de PCSOFT sur l'intégration de Firebas pour les notifications Push comme ils l'ont fait pour Android car c'est vraiment complexe.

Je vais essayer de télécharger le SDK et l'intégrer dès le départ dans Windev Mobile.

Une autre question, il faut-il ajouter dans WM le code suivant pour connecter Firebase comme il est mentionné dans la doc de Firebase :

Pour connecter Firebase lors du démarrage de votre application, ajoutez le code d'initialisation ci-dessous à votre classe AppDelegate principale.

Swift
Objective-C


import UIKit
import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
return true
}
}

J'ai essayé de faire un nouveau Podfile avec le paramètre en plus :

# Add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'

# Add the pod for Firebase Cloud Messaging
pod 'Firebase/Messaging'

mais j'ai toujours cette même erreur :

ld: framework not found FBLPromises
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Registered member
447 messages
Posted on April, 05 2020 - 7:45 AM
Dans windev mobile il n'y a pas de classe AppDelegate principale
Tu devras insérer ton code en procédure globale
L'erreur indiqué framework not found prouve bien qu'il ne trouve pas les librairies
Je te signale que même pour android firebase n'est pas complètement intégré par pcsoft.
Pcsoft, ne fait que ce qui les arrangent eux
Registered member
48 messages
Posted on April, 06 2020 - 6:54 PM
Je vais continuer à chercher pour cette librairie.

J'ai essayé de l'intégrer dans une procédure globale en selectionnant bien le type de langage pour la procédure mais dans XCODE il ne reconnait pas du tout ce morceau de code il m'indique un multitudes d'erreur. Ne maitrisant pas du tout SWIFT ou ObjectivC je ne peux rien faire de plus.

A tout hasard pour ma version Android, qui elle fonctionne parfaitement bien, j'envoie des notifications sur tous les téléphone en passant par Firebase et un script PHP/CURL qui fait appel à l'API de Firebase. Je cherche une solution pour au clic de la notification ouvrir une certaine fenêtre et non la fenêtre d'accueil de l'application. Quelle piste je dois étudier pour réaliser ce procédé ?

Merci d'avance
Registered member
447 messages
Posted on April, 06 2020 - 7:42 PM
Sur ios selon cette page
https://doc.pcsoft.fr/fr-FR/?1000020816&name=notifpushactive_fonction
L'application doit disposer d’un certificat pour les notifications push
Autre page utile
https://doc.pcsoft.fr/fr-FR/?1000021032
Registered member
48 messages
Posted on April, 07 2020 - 5:01 PM
J'ai installé le certificat Apple Push sur mon compte developper.

Le problème est également que je n'arrive vraiment pas à intégrer le code d'initialisation de Firebase dans le projet XCODE et je me demande si les problèmes que je rencontre ne proviennent pas de ça. J'ai éssayé avec la procedure globae dans WM, pareil XCODE ne reconnait pas.

XCODE ne reconnait pas du tout :

@import UIKit; //existe deja dans WDAppDelegate mais sous la forme #import 
@import Firebase; //Me dit qu'il na pas trouvé le fichier Firebase

@implementation AppDelegate //J'ai modifié par WDAppDelegate car visiblement Windev Mobile renomme ce fichier dans le projet XCODE

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [FIRApp configure];
  return YES;
}



Je ne sais vraiment pas ou l'intégrer dans le WDAppDelegate
Registered member
447 messages
Posted on April, 07 2020 - 7:03 PM
Personnellement, je ne sais pas.
J'espère que trouveras la réponse.
Registered member
48 messages
Posted on April, 12 2020 - 12:34 PM
Bonjour,

J'ai réussi à trouver le problème des Framework introuvable il suffit de rajouter $(inherited), j'ai intégré le code d'initialisation de Firebase dans un nouveau fichier OBJ-C. Firebase détecte bien que mon application à communiqué avec le serveur Firebase. Le problème est que je ne reçois aucune notification sur mon téléphone. Cela peut-être un problème de certificat Apple ? Pourtant j'ai installé tous les certificats inimaginables mais j'ai quelques doutes quand même. Sachant que la doc de PCSOFT n'est pas à jour pour obtenir les certificats apple..... Si quelqu'un à une solution à mon problème ?