Skip to content

Pods version conflict #5061

Closed
Closed
@KristianDD

Description

@KristianDD

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI:
  • Cross-platform modules:
  • Android Runtime:
  • iOS Runtime:
  • Plugin(s):

Describe the bug

When a plugin requires a different version of MaterialComponents than tns-core-modules-widgets there is an error on pod install step in the build proces.

To Reproduce

1 Create new project
2 Add /App_Resources/iOS/Podfile with content pod 'MaterialComponents/Tabs', '< 84.4'

Expected behavior
To have a way to resolve such conflicts without plugin modification.

Solution
A property overridePods has been introduced in nsconfig.json. This property will cause all plugin pods to be overridden by the pods in the /App_Resources/iOS/Podfile.

Acceptance Criteria

  • 1. Change of overridePods in nsconfig.json should regenerate platforms/ios/Podfile
  • 2. Add or remove of pod in /App_Resources/iOS/Podfile should comment/uncomment a pod that is defined in a plugin in the final Podfile in platforms/ios/Podfile (when overridePods is enabled).
  • 3. Newly added plugin should have the pods that match the ones in /App_Resources/iOS/Podfile commented in the final podfile platforms/ios/Podfile (when overridePods is enabled).
  • 4. If there is a conflict in versions a Tip with a reference to article should be printed by the CLI.
  • 5. Check plugin add and nsconfig.json change between runs.
  • 6. Project should work when overridePods is true and Podfile missing in /App-Resources/iOS/ folder

To cause a CocoaPod conflict use the attached to the issue plugin.
plugin.zip

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions