[
https://issues.apache.org/jira/browse/CB-8254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14307866#comment-14307866
]
ASF subversion and git services commented on CB-8254:
-----------------------------------------------------
Commit 875d699dc2c03c065082677ea8ee8d80efec4cc6 in cordova-ios's branch
refs/heads/master from [~shazron]
[ https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;h=875d699 ]
CB-8254 - Enable use of .xcconfig when building for emulator
> Swift support: Cordova build only uses xcconfig with --device flag (please
> also enable without)
> -----------------------------------------------------------------------------------------------
>
> Key: CB-8254
> URL: https://issues.apache.org/jira/browse/CB-8254
> Project: Apache Cordova
> Issue Type: Bug
> Components: CLI, iOS
> Affects Versions: 3.5.0, 4.1.3
> Environment: All (iOS)
> Reporter: Geordie Jay
> Assignee: Shazron Abdullah
> Labels: easyfix, swift
> Fix For: 3.8.0
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> I have written a plugin in Swift that won't build with a deployment target <
> iOS 7.0. This breaks "cordova build ios":
> Swift is unavailable on iOS earlier than 7.0; please set
> IPHONEOS_DEPLOYMENT_TARGET to 7.0 or later (currently it is '6.0').
> (** BUILD FAILED **)
> I know I can `cordova prepare ios` and manually add the changes to my xcode
> project, but as a plugin author this manual approach is unsatisfactory.
> Instead, I have added a hook to my plugin that adds the required options to
> build.xcconfig:
> "IPHONEOS_DEPLOYMENT_TARGET = 7.0"
> "SWIFT_OBJC_BRIDGING_HEADER = $SRCDIR/Bridging-Header.h"
> This allows the code to build with `cordova build ios --device`
> The problem is that `cordova build ios` alone doesn't pay any attention to
> the any of the three build.xcconfig files, because there is no -xcconfig
> option present for EMULATOR mode in the build script (see
> $PROJECT/platforms/ios/cordova/build).
> -------
> The solution:
> The ideal solution would be the option to provide custom build options to
> `cordova prepare ios` that get directly integrated into the Xcode project.
> But I gather Apple doesn't provide us the option to edit Xcode projects
> outside of Xcode (and 3rd party solutions are far from reliable).
> Which appears to leave us with two reasonable options:
> (1) Provide another Xcode project for Swift plugins. Back maybe this isn't so
> reasonable after all: it's inconsistent, has the issue of setting a Bridging
> Header without knowing where it is in advance. What happens when we add a
> swift plugin to an existing project. Does the existing Xcode project get
> deleted?
> (2) Add the same -xcconfig param to the EMULATOR section at the bottom of the
> `ios/cordova/build` file. This has the drawback of potentially confusing
> people when they open the Xcode project, but I think this is favourable to
> having the project not build at all from the command line.
> Is there any reason that (2) couldn't be implemented effectively immediately?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]