dpa99c / cordova-plugin-firebasex

Cordova plugin for Google Firebase
MIT License
570 stars 457 forks source link

IOS - Cordova Build in 720 seconds? #841

Closed FranGhe closed 4 months ago

FranGhe commented 6 months ago

Hi, sorry in advance about my english.

I have a cordova App and I installed this plugin to use Push Notify. All work fine in Android... also in IOS, but I have to wait 720 for cordova build and 720 more when I start to install my app on my Ipad.

I have read topic like these https://github.com/dpa99c/cordova-plugin-firebasex/issues/407 and this https://github.com/dpa99c/cordova-plugin-firebasex/pull/737... but not solution.

I updated my codova-plugin-firebasex/plugin.xml like this:

    <preference name="FIREBASE_ANALYTICS_COLLECTION_ENABLED" default="false" />
    <preference name="FIREBASE_PERFORMANCE_COLLECTION_ENABLED" default="false" />
    <preference name="FIREBASE_CRASHLYTICS_COLLECTION_ENABLED" default="false" />
        <preference name="FIREBASE_FCM_AUTOINIT_ENABLED" default="true" />
        ...
    <platform name="ios">
            <preference name="IOS_USE_PRECOMPILED_FIRESTORE_POD" default="true" />
             <pod name="FirebaseFirestore" git="https://github.com/invertase/firestore-ios-sdk-frameworks.git#10.16.0" tag="10.16.0"/>
    </platform>

During building seems that spend a lot of time on buiding something for iphone simulator (that I don't use)...

        cordova-plugin-firebasex: Preparing Firebase on iOS
        cordova-plugin-firebasex: cordova-plugin-firebasex: Applied post install block to Podfile
        cordova-plugin-firebasex: Updating installed Pods
        List simulator targets
        Select last emulator from list as default.
        List simulator targets
        No simulator found for ". Falling back to the default target.
        Building for "iPhone 14 Pro Max" Simulator (com.apple.CoreSimulator.SimDeviceType.iPhone-14-Pro-Max, iPhone-14-Pro-Max).
        Building project: /Users/... 
            Configuration: Debug
            Platform: emulator
            Target: iPhone 14 Pro Max
        2023-10-29 21:09:14.002 xcodebuild[24134:95686] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
        Command line invocation:
            /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace Cortona.xcworkspace -scheme Cortona -configuration Debug -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPhone 14 Pro Max" build SYMROOT=/Users/... 

        User defaults from command line:
            IDEPackageSupportUseBuiltinSCM = YES
        Build settings from command line:
            SDKROOT = iphonesimulator16.4
            SYMROOT = /Users/.....
        Prepare packages...

        CompileC /Users/.../Library/Developer/Xcode/DriverData/.../Build/Intermediates.noIndex/Pods.build/Debug-iphonesimulator/aaa.build/...
        CompileC /Users/.../Library/Developer/Xcode/DriverData/.../Build/Intermediates.noIndex/Pods.build/Debug-iphonesimulator/bbb.build/...
        CompileC /Users/.../Library/Developer/Xcode/DriverData/.../Build/Intermediates.noIndex/Pods.build/Debug-iphonesimulator/ccc.build/...
        CompileC /Users/.../Library/Developer/Xcode/DriverData/.../Build/Intermediates.noIndex/Pods.build/Debug-iphonesimulator/ddd.build/...

At the buildin end I have these warnings... and seems that they are where it spends a lot of time

warning: Run script build phase 'Crashlytics' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Cortona' from project 'Cortona')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'gRPC-C++' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'abseil' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'BoringSSL-GRPC' from project 'Pods')
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'gRPC-Core' from project 'Pods')

The problem is the simulator? Why I have no this problem without this plugin? Can I disable the simulator building? How I can check if my plugin editing is correct? Anyway... on build completed (after 720 sec) on pods file I haven't reference about IOS_USE_PRECOMPILED_FIRESTORE_POD

This is my cordova situation: Platform : ios 7.0.0 Plugins: @ahovakimyan/cordova-plugin-wkwebviewxhrfix 1.0.1 "Cordova WKWebView File XHR Fix" cordova-background-geolocation-plugin 2.0.5 "cordova-background-geolocation-plugin" cordova-open-native-settings 1.5.5 "Native settings" cordova-plugin-androidx-adapter 1.1.3 "cordova-plugin-androidx-adapter" cordova-plugin-app-version 0.1.14 "AppVersion" cordova-plugin-device 2.1.0 "Device" cordova-plugin-dialogs 2.0.2 "Notification" cordova-plugin-file 8.0.0 "File" cordova-plugin-firebasex 16.1.0 "Google Firebase Plugin" cordova-plugin-geolocation 4.1.0 "Geolocation" cordova-plugin-globalization 1.11.0 "Globalization" cordova-plugin-inappbrowser 5.0.0 "InAppBrowser" cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)" cordova-plugin-native-app-update 2.0.0 "AppUpdate" cordova-plugin-network-information 3.0.0 "Network Information" cordova-plugin-statusbar 3.0.0 "StatusBar" cordova-plugin-wkwebview-file-xhr 3.1.0 "Cordova WKWebView File XHR Plugin" cordova-plugin-x-socialsharing 6.0.4 "SocialSharing" es6-promise-plugin 4.2.2 "Promise"

Thanks in advance for support

dpa99c commented 4 months ago

I updated my codova-plugin-firebasex/plugin.xml like this

You cannot override plugin variables in this way (they are also stored in package.json). Please see the documentation for using plugin variables.

Therefore because IOS_USE_PRECOMPILED_FIRESTORE_POD defaults to false, the Firebase SDK Firestore Pod must be compiled which is what is extending your build time.

lucaele commented 4 months ago

Hi @FranGhe, did you solved the problem? Thanks

FranGhe commented 3 months ago

yes @lucaele ... I updated my cocoapods

pod repo update -> to check update pod --version -> to check your version sudo gem install cocoapods -> to install last version

lucaele commented 3 months ago

@FranGhe, thanks but not work for me

My pod --versione => 1.15.1

cordova-plugin-advanced-http 3.3.1 "Advanced HTTP plugin" cordova-plugin-dialogs 2.0.2 "Notification" cordova-plugin-file 8.0.0 "File" cordova-plugin-firebasex 16.1.0-cli "Google Firebase Plugin" cordova-plugin-geolocation 4.1.0 "Geolocation" cordova-plugin-inappbrowser 5.0.0 "InAppBrowser" cordova-plugin-screen-orientation 3.0.2 "Screen Orientation" es6-promise-plugin 4.2.2 "Promise"


ARCHIVE FAILED The following build commands failed: SwiftEmitModule normal arm64 Emitting\ module\ for\ FirebaseFirestore (in target 'FirebaseFirestoreBinary' from project 'Pods')

Could you help me? Thanks