-
Notifications
You must be signed in to change notification settings - Fork 986
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
Removal of xcconfig build flag #398
Conversation
8705a9d
to
023cfd4
Compare
Codecov Report
@@ Coverage Diff @@
## master #398 +/- ##
=======================================
Coverage 74.26% 74.26%
=======================================
Files 12 12
Lines 1562 1562
=======================================
Hits 1160 1160
Misses 402 402
Continue to review full report at Codecov.
|
023cfd4
to
45e31df
Compare
- Remove xcconfig build flag for device and emulator. - Remove custom argument override for xcconfig. - Updated build test spec with removal of xcconfig with cleanup.
45e31df
to
4dd0586
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Just to confirm, it still looks at the build.xcconfig
file when building? Existing workflows that append to that file will continue to work as they current do?
@dpogue Yes, the project still refers to build.xcconfig when building. This is defined in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good.
Hey guys, do you know when this will be released? |
Platforms affected
ios
What does this PR do?
Since Cordova projects are using
xcworkspace
and thecontent.xcworkspacedata
file declares our projectsxcodeproj
, thexcconfig
file paths are declared in thepbxproj
.contents.xcworkspacedata
Once a Pod project is added to the application, for example
cordova-plugin-firebase-messaging
, thecontents.xcworkspacedata
file is updated to reflect the Pod project.If the xcconfig flag was set, in this scenario, pathing issues are introduced. For example header files will not be found and can not load. The xcconfig flag is applied to the entire workspace and will affect also the pod project’s xcconfig files.
Example
SRCROOT
varaible is declared asplatforms/ios
.SRCROOT
variable will be declared asplatforms/ios/Pods
for pod project.In this case, in regards to the last item, the
PODS_ROOT = ${SRCROOT}/Pods
inPods-HelloCordova.debug.xcconfig
will be defined asplatforms/ios/Pods/Pods
which is incorrect.Following this example:
You will notice in the build output the incorrect paths for example:
/cordova/podtest/platforms/ios/Pods/Pods/Headers/FirebaseCore -
By removing the flag, the
SRCROOT
will not be affected for the pods project so that whenPods-HelloCordova.debug.xcconfig
declaresPODS_ROOT
, the path will then be correctplatforms/ios/Pods
.What testing has been done on this change?
General Tests
npm test
npm run eslint
Default Template
cordova build ios
cordova build ios --release --device
cordova build ios --debug --device
cordova run ios --emulator
cordova prepare ios
cordova compile ios
Default Template + CocoaPods Plugin
cordova build ios
cordova build ios --release --device
cordova build ios --debug --device
cordova run ios --emulator
cordova prepare ios
cordova compile ios
Pod test is using
cordova-support-google-services
andcordova-plugin-firebase-messaging
plugin.