Skip to content

fix(ios): revert dotlottie-ios dependency from SPM back to CocoaPods#69

Merged
theashraf merged 2 commits into
mainfrom
fix/ios-revert-dotlottie-spm-to-cocoapods
Jun 17, 2026
Merged

fix(ios): revert dotlottie-ios dependency from SPM back to CocoaPods#69
theashraf merged 2 commits into
mainfrom
fix/ios-revert-dotlottie-spm-to-cocoapods

Conversation

@theashraf

Copy link
Copy Markdown
Member

Summary

Reverts the iOS dotlottie-ios dependency from Swift Package Manager back to the LottieFiles-dotLottie-iOS CocoaPods pod, undoing #57.

Why — fixes #66

#57 pulled the player as a SwiftPM product via the spm_dependency helper. With that setup, DotLottiePlayer.xcframework is processed twice in a single build — once by the SwiftPM DotLottie target and once by the dotlottie-react-native pod target. On Xcode 26 the archive step collects every embedded xcframework's signature into one flat <archive>/Signatures/ folder, so the two identically-named DotLottiePlayer.xcframework-ios.signature files collide:

"DotLottiePlayer.xcframework-ios.signature" couldn't be copied ... File exists
Exit status: 70

Consuming the player through the CocoaPods pod embeds the xcframework exactly once, so the collision can't occur — fixing the archive failure at the root rather than patching the symptom with a signature-removal script phase.

Changes

  • dotlottie-react-native.podspec: spm_dependency(...)s.dependency 'LottieFiles-dotLottie-iOS', '~> 0.15.6'
  • example/ios/Podfile: restored the original ENV['USE_FRAMEWORKS'] linkage block (dropped the forced use_frameworks! :dynamic and the project workaround SPM needed)
  • plugins/withDotLottie.js: corrected the now-inaccurate SPM comment (behavior unchanged)
  • Regenerated example/ios Pods (lockfile + pbxproj) — no SwiftPM package references remain
  • Added a Changeset (patch)

Follow-up — bump to 0.15.7

LottieFiles-dotLottie-iOS 0.15.7 has been published to the CocoaPods trunk (repo podspec sync: LottieFiles/dotlottie-ios#125), matching the version the SPM setup floored at. It's pinned to ~> 0.15.6 here only because the CocoaPods CDN version index hasn't propagated 0.15.7 yet; a follow-up commit will bump this to ~> 0.15.7 once it's resolvable.

Closes #66

PR #57 switched the iOS dotlottie-ios dependency to a SwiftPM product via the
spm_dependency helper. On Xcode 26 this makes DotLottiePlayer.xcframework get
processed twice during an archive (once by the SwiftPM DotLottie target, once by
the dotlottie-react-native pod target). The archive step collects each embedded
xcframework signature into one flat Signatures/ folder, so the two identically
named DotLottiePlayer.xcframework-ios.signature files collide and archiving fails
with "File exists" (exit 70) (#66).

Consuming the player through the LottieFiles-dotLottie-iOS CocoaPods pod embeds
the xcframework exactly once, fixing the archive failure at the root.

- podspec: spm_dependency(...) -> s.dependency 'LottieFiles-dotLottie-iOS', '~> 0.15.6'
- example/ios/Podfile: restore ENV-based linkage (drop forced dynamic frameworks)
- plugins/withDotLottie.js: correct now-inaccurate SPM comment
@changeset-bot

changeset-bot Bot commented Jun 17, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: dc228f6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@lottiefiles/dotlottie-react-native Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

LottieFiles-dotLottie-iOS 0.15.7 is now resolvable on the CocoaPods CDN, so raise
the floor to ~> 0.15.7 to match the version the previous SPM setup required.
@theashraf theashraf merged commit e625dd9 into main Jun 17, 2026
7 checks passed
@github-actions github-actions Bot mentioned this pull request Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(ios): dedupe DotLottiePlayer.xcframework signature to fix Xcode 26 archive ("File exists")

1 participant