dpa99c / cordova-plugin-firebasex

Cordova plugin for Google Firebase
MIT License
571 stars 465 forks source link

Could not compile on IOS - InAppMessagingDisplayResources.bundle missing #326

Closed sebastian-zarzycki-apzumi closed 4 years ago

sebastian-zarzycki-apzumi commented 4 years ago

Bug Report

Current behavior:

When creating a prod build (Ionic), it crashes with:

error: Resource "/Users/rattkin/Library/Developer/Xcode/DerivedData/driverhood-fdggvwggwpvrhxbzlvxxdbhztdnu/Build/Products/Debug-iphonesimulator/FirebaseInAppMessaging/InAppMessagingDisplayResources.bundle" not found. Run 'pod install' to update the copy resources script.

The following build commands failed:
    PhaseScriptExecution [CP]\ Copy\ Pods\ Resources /Users/rattkin/Library/Developer/Xcode/DerivedData/driverhood-fdggvwggwpvrhxbzlvxxdbhztdnu/Build/Intermediates.noindex/driverhood.build/Debug-iphonesimulator/driverhood.build/Script-53D89128D701315A18804F16.sh

xcodebuild: Command failed with exit code 65

I did pod install in platforms/ios but it didn't change anything. Also did pod repo update.

Looks like a problem with Firebase/InAppMessaging pod?

Expected behavior: It should compile properly.

Steps to reproduce: ionic cordova build ios --prod

Environment information

iOS build issue:

maxtacco commented 4 years ago

@dpa99c Hi, it looks like InAppMessaging and GoogleTagManager were merged back into 9.0.3-cli branch from master in https://github.com/dpa99c/cordova-plugin-firebasex/commit/b21213f3cb4d461f87980694fb2a2869ba979996. As a result we started to get this error again.

Phrensoua commented 4 years ago

@dpa99c, @maxtacco, I do too.

`cd [MYPATH]/platforms/ios /bin/sh -c [MYPATH]/Library/Developer/Xcode/DerivedData/[APPNAME]-aanowkqndskebrfkxmvdfhcnksye/Build/Intermediates.noindex/[APPNAME].build/Debug-iphonesimulator/[APPNAME].build/Script-2DD7BADC130A1BDEF45FCB72.sh error: Resource "[MYPATH]/Library/Developer/Xcode/DerivedData/[APPNAME]-aanowkqndskebrfkxmvdfhcnksye/Build/Products/Debug-iphonesimulator/FirebaseInAppMessaging/InAppMessagingDisplayResources.bundle" not found. Run 'pod install' to update the copy resources script.

BUILD FAILED

The following build commands failed: PhaseScriptExecution [CP]\ Copy\ Pods\ Resources [MYPATH]/Library/Developer/Xcode/DerivedData/[APPNAME]-aanowkqndskebrfkxmvdfhcnksye/Build/Intermediates.noindex/[APPNAME].build/Debug-iphonesimulator/[APPNAME].build/Script-2DD7BADC130A1BDEF45FCB72.sh (1 failure) xcodebuild: Command failed with exit code 65`

I am using a cordova webpack plugin and I prefer to use CLI.

Cheers!

edit

I did @orenagiv 's trick and it worked. Looks like backtracking to cordova-plugin-firebasex@9.0.1-cli did it form me. Thanks!

Phrensoua commented 4 years ago

@jh-gh Did you get it to compile faster? For me, on my Macbook Air 2012 it takes 23 mins with CLI (cordova run ios) to start!! And it always seem to rebuild all.

Cheers.

jh-gh commented 4 years ago

@Phrensoua No, I have not found any way to make it compile faster on the 9.X stream. I am still staying with 8.0.1 for now as that version still builds in a reasonable amount of time for ios whereas the 9.0.1-cli version takes 4 times as long to build (haven't tried any later 9.X versions).

ilclaudio commented 4 years ago

I noticed a comment above from @patrickchoi suggesting that the jump in build times came with between 8.0.1 and 8.1.0. I tried downgrading to 8.0.1 and indeed this builds successfully and dramatically faster. For now I will go with this version (8.0.1) as I don't need any of the features in later releases and the increased build times are a big issue, especially in our CI environment where we use relatively underpowered mac minis.

Excuse me @jh-gh did you solve the problem just removing the plugin and installing it again in this way?

cordova plugin add cordova-plugin-firebasex@8.0.1

ilclaudio commented 4 years ago

cordova platform remove ios; cordova platform add ios@latest; cordova plugin remove cordova-plugin-firebasex; cordova plugin add cordova-plugin-firebasex@9.0.1-cli;

Thank you @orenagiv this worked for me.

Phrensoua commented 4 years ago

@jh-gh, thank you for your reply. On my side, I have resolved to execute into Xcode for now. It doesn't rebuild all every time at least...

Cheers

jh-gh commented 4 years ago

I noticed a comment above from @patrickchoi suggesting that the jump in build times came with between 8.0.1 and 8.1.0. I tried downgrading to 8.0.1 and indeed this builds successfully and dramatically faster. For now I will go with this version (8.0.1) as I don't need any of the features in later releases and the increased build times are a big issue, especially in our CI environment where we use relatively underpowered mac minis.

Excuse me @jh-gh did you solve the problem just removing the plugin and installing it again in this way?

cordova plugin add cordova-plugin-firebasex@8.0.1

@ilclaudio I updated the dependency version in package.json and did a clean build (rm node_modules, npm install, rm platforms/plugins, (ionic) cordova build ios).

Crypt0Graphic commented 4 years ago

I had similar problems and solved them by switching to version 9.0.1-cli.

However, this caused the IOS build time to increase by over 400% (compared to version 6.1.0 of the plugin). I verified a similar increase when compiling the sample app with these two versions.

I noticed a comment above from @patrickchoi suggesting that the jump in build times came with between versions 8.0.1 and 8.1.0. I tried downgrading to 8.0.1 and indeed this builds successfully and dramatically faster. For now I will go with this version (8.0.1) as I don't need any of the features in later releases and the increased build times are a big issue, especially in our CI environment where we use relatively underpowered mac minis.

Does anybody know if there is any way to mitigate the build time slowdown in the latest versions of the plugin? I realise this is probably not an issue with the plugin itself ... more with Firebase sdk components (??) Is there any way to tweak this at build time (and ideally drive this from a setting/script/cli)?

I got build problem with 9.1.1 also but build with 9.1.1-cli was successful. These versions have same build time problem. It tooks maybe 15-20 minutes. So i downgraded 8.0.1 and built in 2-3 minutes. Thank you for test and 8.0.1 tip.

simmunoz commented 4 years ago

@orenagiv THNKS! ionic cordova plugin add cordova-plugin-firebasex@9.0.1-cli

it worked perfect, compilation time is the only problem currently

sebastian-zarzycki-apzumi commented 4 years ago

Protip: don't pin it like so: "cordova-plugin-firebasex": "^9.1.1-cli" as it will default to the non-cli. Use it directly. "cordova-plugin-firebasex": "9.1.1-cli"

Seems obvious, but I've lost some time today scratching my head, why it still throws the old error.

sboudouk commented 4 years ago

Is there a difference between building by using CLI cordova run ios --device and by Xcode ?

dpa99c commented 4 years ago

@sboudouk yes, currently building a pod that contains subfolders (such as Google Tag Manager or Firebase Inappmessaging) fails using the Cordova CLI (as documented here) whereas it works fine when building in Xcode, hence the need for a -cli branch of this plugin.

zdm commented 4 years ago

Is it possible to provide package with the "latest-cli" tag?

astromatrix commented 4 years ago

Hi

I have a big issue with this plugin on ios when compiling. I didnt want to start a new thread as i dont think its an issue with the plugin but with the pods library. It creates a build error saying disk full on various stages of the build. I am using a remote mac server and their support cant help me apart from creating a new server which i could do but i feel it maybe the same problem. I think its a ram disk full issue as this pod library is massive and makes the compile time take alot longer. I have searched online for something to fix this issue cleaning up the xcode build etc but i am still unable to create this build. Is there someone who can direct me to a solution to why its giving this error and what i can do to fix it? The build works fine and fast without this plugin

Here is an example error: accessing build database "/Users/user915171/Library/Developer/Xcode/DerivedData/Astra-albjvigcqvqixkbzncjokuhaaees/Build/Intermediates.noindex/XCBuildData/build.db": database or disk is full

kingkarki commented 4 years ago

Anyone having this issue please add following plugin with same version: cordova-plugin-androidx-adapter 1.1.1 cordova-plugin-androidx 1.0.2 cordova-plugin-firebasex 9.0.1-cli

cordova-plugin-androidx and cordova-plugin-androidx-adapter are needed for this plugin.

hcassar93 commented 3 years ago

Hey

Having similar issues building with the cordova cli. However I have not been able to resolve them by changing to any -cli version of the plugin. Or by downgrading to 8.0.1 which was previously working for me.

My builds always fails with the following message regardless of which version of the plugin I use now. If i remove the plugin completely the build succeeds.

Not sure how these pods are still sneaking into my build even when using the -cli plugin or the 8.0.1 plugin. Will post if I find a solution. If anyone has seen this issue please let me know.


While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:13:9: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb.h"

    ^~~~~~
    <pb.h>

/Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:14:9: error: double-quoted include "pb_common.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_common.h"

    ^~~~~~~~~~~~~
    <pb_common.h>

While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: In file included from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:14: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/nanopb/pb_common.h:8:10: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

include "pb.h"

     ^~~~~~
     <pb.h>

While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:15:9: error: double-quoted include "pb_decode.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_decode.h"

    ^~~~~~~~~~~~~
    <pb_decode.h>

While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: In file included from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:15: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/nanopb/pb_decode.h:9:10: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

include "pb.h"

     ^~~~~~
     <pb.h>

While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:16:9: error: double-quoted include "pb_encode.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_encode.h"

    ^~~~~~~~~~~~~
    <pb_encode.h>

While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: In file included from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:16: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/nanopb/pb_encode.h:9:10: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

include "pb.h"

     ^~~~~~
     <pb.h>

While building module 'nanopb' imported from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22: In file included from :1: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:17:9: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb.h"

    ^~~~~~
    <pb.h>

/Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:18:9: error: double-quoted include "pb_decode.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_decode.h"

    ^~~~~~~~~~~~~
    <pb_decode.h>

/Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:19:9: error: double-quoted include "pb_common.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_common.h"

    ^~~~~~~~~~~~~
    <pb_common.h>

/Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:20:9: error: double-quoted include "pb.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb.h"

    ^~~~~~
    <pb.h>

/Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:21:9: error: double-quoted include "pb_encode.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_encode.h"

    ^~~~~~~~~~~~~
    <pb_encode.h>

/Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/Target Support Files/nanopb/nanopb-umbrella.h:22:9: error: double-quoted include "pb_common.h" in framework header, expected angle-bracketed instead [-Werror,-Wquoted-include-in-framework-header]

import "pb_common.h"

    ^~~~~~~~~~~~~
    <pb_common.h>

13 errors generated. In file included from /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.c:20: /Users/haydencassar/Code/AppTemplate/frontend/platforms/ios/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h:22:10: fatal error: could not build module 'nanopb'

include <nanopb/pb.h>


14 errors generated.

** ARCHIVE FAILED **

The following build commands failed:
    CompileC /Users/haydencassar/Library/Developer/Xcode/DerivedData/Vita_Plan-adyddjnjkyhpbddfhgtvyhypkbaq/Build/Intermediates.noindex/ArchiveIntermediates/Vita\ Plan/IntermediateBuildFilesPath/Pods.build/Debug-iphoneos/GoogleDataTransport.build/Objects-normal/armv7/cct.nanopb.o GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.c normal armv7 c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
xcodebuild: Command failed with exit code 65
[ERROR] An error occurred while running subprocess cordova.

        cordova build ios --debug --device --buildConfig ./platforms/ios/build.json exited with exit code 65.
jh-gh commented 3 years ago

@hcassar93 I have seen similar problems. I suggest that you try upgrading your cocoapods installation to the pre-release version (see https://stackoverflow.com/questions/63646607/xcode-12-using-firebase-pods-lexical-or-preprocessor-issue-pb-h-file-not-fou/63648164#63648164). That fixed it for me.

hcassar93 commented 3 years ago

@jh-gh Thanks so much. Really appreciate your help. Fixed it for me too.

maswerdna commented 3 years ago

Pinning the plugin version at 8.0.1 works for me too. Building from the CLI and CI.

sebastian-zarzycki-apzumi commented 3 years ago

https://www.bswen.com/2020/11/others-ios-error1.html

EinfachHans commented 3 years ago

I'm trying to follow the thread here, can anyone answer me: Using the CLI branch don't include the Firebase Inapp Messaging and Google Tag Manager SDK components. What does this result in? Any features lost in the final app hen in compare to the not cli version?

maswerdna commented 3 years ago

I'm trying to follow the thread here, can anyone answer me: Using the CLI branch don't include the Firebase Inapp Messaging and Google Tag Manager SDK components. What does this result in? Any features lost in the final app hen in compare to the not cli version?

@EinfachHans it means that both features would not be available in your app but you do not have to worry about this if you do not use either of those features. Your app would still work fine.

Inappmessaging is used to deliver interactive popups or notifications to your app users while they're on the app and GTM is used to maintain tracking across your apps and websites.

tzappia commented 1 year ago

@dpa99c interestingly, as of v15.0.0 of this plugin, I no longer need to use the -cli branch to get my builds working from the CLI. I had been using the -cli branch and accidentally installed the main branch when upgrading and noticed my builds were still successful.