You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Flutter Module][iOS] Multiple commands produce Datadog.framework #443
Describe what happened
Include any error message or stack trace if available.
We use a Flutter Module in our native ios app using the xcframeworks, running flutter build ios-framework .... When we implemented the datadog using the attachToExisting approach we had this error Multiple commands produce Datadog.framework because in the iOS project the datadog pods are included.
Thanks for reporting, I'll look into it. I'm not exactly sure how I can support Option B or C without supplying a completely separate package, since I don't think there's a way for me to exclude the pod dynamically, but maybe I'm just missing some option.
Would it be possible to remove the Datadog iOS SDK from the app side, and allow the datadog_flutter_plugin to supply
the framework instead?
@4rthurmonteiro
As a workaround, can you try deleting Datadog.framework produced by flutter build ios-framework command?
from flutter_module/build/ios/framework/**/Datadog.xcframework
@4rthurmonteiro
Ok. Then the best option will be to link only App.xcframework (& embed) and FlutterPluginRegistrant.xcframework (without embedding).
(So don't include Datadog-related frameworks: Datadog, datadog_flutter_plugin, DatadogCrashReporting and DictionaryCoder)
Main step will be to add datadog_flutter_plugin manually to Podfile:
@4rthurmonteiro Ok. Then the best option will be to link only App.xcframework (& embed) and FlutterPluginRegistrant.xcframework (without embedding). (So don't include Datadog-related frameworks: Datadog, datadog_flutter_plugin, DatadogCrashReporting and DictionaryCoder)
Main step will be to add datadog_flutter_plugin manually to Podfile:
Activity
fuzzybinary commentedon Jun 16, 2023
Hi @4rthurmonteiro ,
Thanks for reporting, I'll look into it. I'm not exactly sure how I can support Option B or C without supplying a completely separate package, since I don't think there's a way for me to exclude the pod dynamically, but maybe I'm just missing some option.
Would it be possible to remove the Datadog iOS SDK from the app side, and allow the
datadog_flutter_pluginto supplythe framework instead?
4rthurmonteiro commentedon Jun 16, 2023
Hi @fuzzybinary
I will try remove the Datadog iOS SDK from the app side.
4rthurmonteiro commentedon Jun 16, 2023
@fuzzybinary when i removed the Datadog iOS SDK from app side i received this error below:
fuzzybinary commentedon Jun 16, 2023
Okay, I'll continue to investigate a fix.
4rthurmonteiro commentedon Jun 19, 2023
similar problem flutter/flutter#114692
p-mazhnik commentedon Jun 20, 2023
@4rthurmonteiro
As a workaround, can you try deleting
Datadog.frameworkproduced byflutter build ios-frameworkcommand?from
flutter_module/build/ios/framework/**/Datadog.xcframework4rthurmonteiro commentedon Jun 20, 2023
Hi @p-mazhnik
I tried deleting Datadog.framework but i received a lot of errors called
Undefined symbols for architecture arm64.p-mazhnik commentedon Jun 20, 2023
@4rthurmonteiro
Ok. Then the best option will be to link only
App.xcframework(& embed) andFlutterPluginRegistrant.xcframework(without embedding).(So don't include Datadog-related frameworks: Datadog, datadog_flutter_plugin, DatadogCrashReporting and DictionaryCoder)
Main step will be to add
datadog_flutter_pluginmanually to Podfile:UPD: Note that
.ios/.symlinks/plugins/datadog_flutter_pluginpath may not exists, but you can find actual path in.flutter-plugins-dependenciesfile4rthurmonteiro commentedon Jun 20, 2023
Great! I will test this approach.
4rthurmonteiro commentedon Jun 20, 2023
@p-mazhnik i have some problems with this approach. So i followed like you did in flutter/flutter#114692 and worked!
How do you distribute your pods? Locally or remotely?
fuzzybinary commentedon Jun 26, 2023
Hi folks -- is there something Datadog needs to change here or something we should add to our documentation to assist others with this scenario?
4rthurmonteiro commentedon Jun 26, 2023
@fuzzybinary i think Option B and C is not possible use the attached aproach. So just add this observation in the example.
📝 Add caveat for Hybrid applications
fuzzybinary commentedon Jul 5, 2023
Closing with new documentation. If there ends up being a workaround we'll open another issue to track documenting the workaround.