segment-integrations / analytics-ios-integration-adobe-analytics

Segment's Adobe Analytics Integration for Analytics-iOS
MIT License
1 stars 2 forks source link

[STRATCONN-90] Fix Bundling Issue with Transitive Dependency #37

Closed briemcnally closed 4 years ago

briemcnally commented 4 years ago

There are issues with this pod for customers who use use_frameworks! to build their apps because of a transitive dependency from Adobe that has a static library instead of a framework. This has caused customers errors such as "target has transitive dependencies that include statically linked binaries” when installing the pod. This is largely and issue for customers implementing with Swift apps which prefers dynamic libraries, and the current Segment Adobe Analytics SDK requires the entire environment n which it is included (ie. all pods) to be static. For some customers their other pods are built as dynamic libraries so usage of our statically linked library is disallowed and causes build errors.

To fix this:

  1. Add s.static-framework = true
  2. Move the imports of ADBMediaHeartbeat.h and ADBMediaHeartbeatConfig.hinto the .m file and declare the imports using a forward declaration with @class in the header fi.e.
  3. Fix unit tests

Goal: Run pod lib lint without any errors and without --use-libraries flag without errors.

JIRA: https://segment.atlassian.net/browse/STRATCONN-90