Skip to content

Drop native extension #167

@fabiopelosin

Description

@fabiopelosin
Ratio

The Xcodeproj native extension has some important drawbacks:

  • Makes installing CocoaPods much more complex that what it should be
  • Makes continuous integration difficult (a huge amount of dev time has been spent on fixing Travis, because we are using the mac workers for what they have not been designed to do)
Proposal

Xcodeproj could:

reading
  • Use a tool like plutil to convert the project.pbxproj file to JSON/XML
  • Read that from Xcodeproj
writing
  • Save the project as JSON/XML in a temporary file
  • use plutil to convert it to to an XML plist
Benefits
  • Without the native extension the installation of CocoaPods and Xcodeproj would be much simpler and less brittle
  • We could switch all the CI to Ruby workers. With this approach we would not test the conversion of the plist via the plutil tool. However once setup this is unlikely to break and we can still test it locally during development. To me this is an acceptable trade off because it would free a considerable amount of development resources.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions