benjaminmwilson / cordova-plugin-downloader

Cordova Downloader Plugin with no cordova-file-transfer dependency
Apache License 2.0
8 stars 7 forks source link

Plugin conflicts #5

Open russcarver opened 5 years ago

russcarver commented 5 years ago

I am trying to use this plugin today but there seem to be conflicts with another plugin that prevent an iOS build (I haven't tried Android yet). Here is my list of current plugins:

    "cordova-plugin-add-swift-support": "1.7.2",
    "cordova-plugin-advanced-http": "2.1.1",
    "cordova-plugin-app-version": "0.1.9",
    "cordova-plugin-appavailability": "0.4.2",
    "cordova-plugin-ble": "2.0.1",
    "cordova-plugin-camera": "4.1.0",
    "cordova-plugin-compat": "1.2.0",
    "cordova-plugin-device": "2.0.3",
    "cordova-plugin-dialogs": "2.0.2",
    "cordova-plugin-downloader": "0.0.4",
    "cordova-plugin-eddystone": "1.3.0",
    "cordova-plugin-email": "1.2.7",
    "cordova-plugin-file": "6.0.2",
    "cordova-plugin-file-hash": "0.4.1",
    "cordova-plugin-fullscreen": "1.2.0",
    "cordova-plugin-geofence": (using a copy, location confidential)
    "cordova-plugin-geolocation": "4.0.2",
    "cordova-plugin-google-analytics": "1.8.6",
    "cordova-plugin-inappbrowser": (using a copy, location confidential)
    "cordova-plugin-inapppurchase": "1.2.0",
    "cordova-plugin-ionic-keyboard": "2.1.3",
    "cordova-plugin-ionic-webview": "4.1.1",
    "cordova-plugin-iroot": "0.8.0",
    "cordova-plugin-network-information": "2.0.2",
    "cordova-plugin-screen-orientation": "3.0.2",
    "cordova-plugin-secure-storage": "3.0.2",
    "cordova-plugin-splashscreen": "5.0.3",
    "cordova-plugin-statusbar": "2.4.3",
    "cordova-plugin-vibration": "3.1.1",
    "cordova-plugin-whitelist": "1.3.4",
    "cordova-plugin-x-socialsharing": "5.4.7",
    "cordova-plugin-zip": "^3.1.0",
    "cordova.plugins.diagnostic": "5.0.0",
    "ionic-plugin-deeplinks": "1.0.20",
    "phonegap-plugin-contentsync": "1.4.2",
    "phonegap-plugin-multidex": "1.0.0",
    "phonegap-plugin-push": "2.2.3"

Here is my app system info:

Ionic:

   Ionic CLI                     : 5.2.3
   Ionic Framework               : @ionic/angular 4.6.2
   @angular-devkit/build-angular : 0.801.2
   @angular-devkit/schematics    : 8.1.2
   @angular/cli                  : 8.1.2
   @ionic/angular-toolkit        : 2.0.0

Cordova:

   Cordova CLI       : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms : ios 5.0.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 31 other plugins)

Utility:

   cordova-res : not installed
   native-run  : 0.2.7 (update available: 0.2.8)

System:

   Android SDK Tools : 26.1.1 (/Users/rc101077/Library/Android/sdk)
   ios-deploy        : 1.9.4
   ios-sim           : 8.0.2
   NodeJS            : v10.16.0 (/Users/rc101077/.nvm/versions/node/v10.16.0/bin/node)
   npm               : 6.9.0
   OS                : macOS Mojave
   Xcode             : Xcode 10.3 Build version 10G8

Ionic iOS build error:

ld: 64 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **

The following build commands failed:
        Ld build/emulator/FooBar.app/FooBar normal x86_64
(1 failure)
xcodebuild: Command failed with exit code 65

Can you provide any insights as to the conflicts?

--Russ

benjaminmwilson commented 5 years ago

Hi Russ,

If I had to guess I'd say it'll be one of the two dependancies: cordova-plugin-zip (most likely) or cordova-plugin-file (less likely IMO)

The cordova-plugin-downloader doesn't have any native code itself it's pure JavaScript so I think it's unlikely to cause linker errors by itself. But I know the zip and file plugin do have native code so I wonder if it's that.

How I would try to troubleshoot it is to remove cordova-plugin-downloader first and then add cordova-plugin-zip@3.1.0 and cordova-plugin-file@6.0.2 separately and then rebuild to see if the error re-occurs. Say zip triggers it - there might be a well known fix out there.

Let me know how it turns out. I see that cordova-plugin-zip latest version is still 3.1.0 which isn't particularly promising but there is a newer cordova-zip-plugin that might need swapping too.

What a nightmare cordova plugins are when not the official ones!

Thanks,

Ben.