WebEngage / webengage-flutter

WebEngage Flutter Plugin
Apache License 2.0
4 stars 21 forks source link

Error (Xcode): Multiple commands produce #47

Closed AmirJabbari closed 4 months ago

AmirJabbari commented 4 months ago

Error (Xcode): Multiple commands produce 'build/ios/Debug-iphonesimulator/XCFrameworkIntermediates/WebEngage/Core/WebEngage.framework'

I have this error when running on ios flutter doctor -v Flutter (Channel stable, 3.22.2, on macOS 14.5 23F79 darwin-arm64, locale en-US) • Flutter version 3.22.2 on channel stable at /Users/amir/development/sdk/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 761747bfc5 (5 weeks ago), 2024-06-05 22:15:13 +0200 • Engine revision edd8546116 • Dart version 3.4.3 • DevTools version 2.34.3

MilindWebEngage commented 4 months ago

@AmirJabbari

The issue seems to arise from having different minimum deployment targets for various targets within your application. For instance, if your main application has a deployment target set to iOS 12.0, while a service extension has a higher deployment target of iOS 16.0, it can lead to conflicts with shared dependencies like the "WebEngage" framework.

Both targets might attempt to fetch different versions of this framework, leading to compatibility issues.

To address this concern effectively, we strongly recommend following these steps:

  1. Check and Modify Deployment Targets: Review the deployment targets for each component of your application, ensuring they are set to the same version. This consistency will prevent dependency clashes.
  2. Update Pods: After modifying the deployment targets, run the "pod update" command again. This action will fetch the appropriate versions of the pods based on the revised targets, resolving the dependency conflict.
  3. Fresh Installation (If Needed): In case you encounter any issues during the update process, consider deleting the "Pods" folder and the "Podfile.lock" file. Then, perform a fresh installation by running "pod install" to ensure a clean slate.

We believe that by implementing these measures, you'll be able to resolve the current issue and prevent similar occurrences in the future.