Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CB-14192: (ios) - Xcode 10 Framework Target Fix - Convert Framework to build source rather than wrap static lib #408

Closed
wants to merge 3 commits into from

Conversation

sgoldberg-sfdc
Copy link
Contributor

  • The new build system in Xcode 10 gets confused by the static library header files copied to $CONFIGURATION_BUILD_DIR/include
  • By making the framework target build the source directly we eliminate this issue
  • If both targets are built, the issue will still occur

Platforms affected

iOS

What does this PR do?

Modifies the framework target to compile the source directly, rather than wrap the static library target. This avoids the issue where the static library header files are copied to the $CONFIGURATION_BUILD_DIR confusing the new build system (defaulted on in Xcode 10) resulting in duplicate definition errors.

What testing has been done on this change?

Manually verified builds of both targets within xcode and via Carthage.

Checklist

  • Reported an issue in the JIRA database
  • Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
  • Added automated test coverage as appropriate for this change. (None required)

…o build source rather than wrap static lib

-  The new build system in Xcode 10 gets confused by the static library header files copied to $CONFIGURATION_BUILD_DIR/include
-  By making the framework target build the source directly we eliminate this issue
-  If both targets are built, the issue will still occur
@bhariharan
Copy link
Contributor

@dpogue @shazron Could we get this merged? Without this, it's impossible to use CordovaLib in a pure Swift project because Swift ignores the existing linker flag workaround that we use to make it work with an Objective C project, i.e. Allow Non-modular Includes in Framework Modules.

@dpogue
Copy link
Member

dpogue commented Oct 25, 2018

I had been hoping to merge this (in the form of #409) once I'd figured out why automatic signing was still broken, but it might make sense to fix this one issue and tackle the signing separately since it's not clear that they are related.

@bhariharan
Copy link
Contributor

That would be much appreciated, @dpogue!

@dpogue
Copy link
Member

dpogue commented Dec 17, 2018

#409 (which includes the changes from this PR, with credit to sgoldberg-sfdc) has been merged in preparation for the next major version of cordova-ios, so I'm going to close this PR. Thanks for your contribution and for paving the way to support Xcode 10!

@dpogue dpogue closed this Dec 17, 2018
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.

3 participants