Jump to content

Erro de compilação - Delphi Sydney 10.4.2 - iOS Push Notification (Firebase Cloud Messaging)


Go to solution Solved by zidra,

Recommended Posts

zidra

Boa tarde a todos 🙂

Recentemente começamos a migrar as nossas apps (Android / iOS) do Delphi Rio 10.3.3 para a mais recente Delphi Sydney 10.4.2.  Em android correu tudo bem, basicamente foi compilar e ficou feita a migração. No iOS, estou com bastantes problemas para conseguir que as notificações push funcionem, sendo que na versão anterior estava tudo a funcionar.
Uma das novidades na versão 10.4.2 é, precisamente, o suporte para Firebase Push Notification para iOS. 

Segui os passos apresentados neste webinar https://blogs.embarcadero.com/pt/webinar-amanha-mao-na-massa-com-rad-studio-10-4-2/ (no video, começa no minuto 1:08:30), atualizei o mac para o mais Big Sur (vs 11.4), instalei a partir do GetIt Package Manager o Firebase SDK for iOS 6.28.

Depois de configurar nas opções do projeto a opção  "Framework search path" com o caminho para as pastas FirebaseAnalytics e FirebaseMessaging e colocar a opção -ObjC em "Options passed to de LD linker" estou a receber o seguinte erro:

[DCC Error] E2597 ld: file not found: PromisesObjC
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)

Descarreguei o exemplo apresentado no webinar https://github.com/flrizzato/WEBINARS/tree/master/10.4.2-HandsOn e tenho exatamente o mesmo erro...

Talvez esteja a faltar alguma configuração no delphi ou no mac (não sei se é necessário instalar alguma coisa)..

Alguém tem ideia do que será?

Agradeço qualquer ajuda, se não houver ajudas, pelo menos desabafei 😅

Link to post
Share on other sites
  • Solution
zidra

Bom dia, já consegui resolver o problema, mas tive de abrir um ticket... Apesar de ter colocado os caminhos na opção "Framework search path" estava a escapar-me um pormenor :)Deixo-vos a resposta, caso venham a precisar. 
 

"If you look at the directory structure of what is downloaded from Getit, there are .xcframework directories. If you drill into those directories, you will find ios-armv7_arm64 directories. In there are ios-armv7_arm64, which contains libraries that we can link to. iOS projects have a Framework search path option, but they cannot search in an .xcframework - only .framework. This is what I suggest that you do:

1. Create a Firebase directory in your project directory structure

2. Copy C:\Users\stevea\Documents\Embarcadero\Studio\21.0\CatalogRepository\FirebaseSDKforiOS-6.28\Firebase\FirebaseAnalytics and C:\Users\stevea\Documents\Embarcadero\Studio\21.0\CatalogRepository\FirebaseSDKforiOS-6.28\Firebase\FirebaseMessaging to that FireBase directory.

3. Go to the FireBaseAnalytics directory.

4. For each .xcframeworkdirectory, go to ios-armv7_arm64 and copy the .framework directory that you will find there and copy it to the FireBaseAnalytics folder.

5. Repeat for the FirebaseMessaging folder." by Embarcadero Support

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.