[ https://issues.apache.org/jira/browse/CB-12084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15671773#comment-15671773 ]
ASF GitHub Bot commented on CB-12084: ------------------------------------- GitHub user kerrishotts opened a pull request: https://github.com/apache/cordova-ios/pull/279 CB-12084: Update project build settings & plist <!-- Please make sure the checklist boxes are all checked before submitting the PR. The checklist is intended as a quick reference, for complete details please see our Contributor Guidelines: http://cordova.apache.org/contribute/contribute_guidelines.html Thanks! --> ### Platforms affected - iOS ### What does this PR do? Addresses the bug discovered in CB-12084 where cleaning would corrupt the Xcode project. Also addresses the particular use case where the user was eliminating legacy launch images from the Xcode project -- this code will now take care of that automatically. Here's the logic: - If the user only specifies images for the storyboard, then the Xcode project should not attempt to use an asset catalog for launch images as well. This PR will remove that particular build property from the project (`ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME`) - If the user specifies both storyboard images and legacy launch images, then nothing changes; build settings will continue to have `ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME` set to `LaunchImage`. - If the user specifies ONLY legacy launch images, `ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME` is set to `LaunchImage`; this ensures that if the user has gone back to legacy images after having tried the storyboard images that the Xcode project still works as expected. ### What testing has been done on this change? - Manual testing in each of the above scenarios - `npm test` completed successfully with no errors (but it would as no tests currently trigger any of the above behavior) - Travis CI is green. ### Checklist - [X] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA database - [X] 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. - [X] Added automated test coverage as appropriate for this change. - Note that automated test coverage is coming in a separate PR since that test coverage will test the feature as a whole (not just this change). You can merge this pull request into a Git repository by running: $ git pull https://github.com/kerrishotts/cordova-ios CB-12084 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-ios/pull/279.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #279 ---- commit 7b8d7c3ef4bb6ce9c38adef61f3632e4ba6a8f32 Author: Kerri Shotts <ksho...@apache.org> Date: 2016-11-16T05:15:16Z CB-12084: Update project build settings & plist If no legacy images are provided, we should remove the launch image asset compiler setting. If legacy images are present, we should make sure it is present. We also need to make sure to properly delete launch storyboard rather than setting to undefined. ---- > iOS 4.3.0 CLI tools fail with Xcode 8.1 > --------------------------------------- > > Key: CB-12084 > URL: https://issues.apache.org/jira/browse/CB-12084 > Project: Apache Cordova > Issue Type: Bug > Components: iOS > Affects Versions: 4.3.0 > Environment: OS-X Xcode 8.1 > Reporter: Nick Redding > > iOS 10.1 has been released, and requires Xcode 8.1 for builds. > The Cordiva CLI build tools don't work with Xcode 8.1. > Following is a transcript of a session illustrating this. > {code} > sh-3.2# cd Documents > sh-3.2# cordova -v > 6.4.0 > sh-3.2# cordova create hello > Using detached cordova-create > Creating a new cordova project. > sh-3.2# cd hello > sh-3.2# cordova platform add ios > Adding ios project... > Creating Cordova project for the iOS platform: > Path: platforms/ios > Package: io.cordova.hellocordova > Name: HelloCordova > iOS project created with cordova-ios@4.3.0 > Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the > project > Fetching plugin "cordova-plugin-whitelist@1" via npm > Installing "cordova-plugin-whitelist" for ios > sh-3.2# chmod -R 777 ../hello > sh-3.2# chmod -R 777 ../hello/* > # Now opened Xcode 81. with HelloCordova.xcodeproj, set “Automatically manage > signing” under project General tab and code signing identity to “iOS > Developer” under project Build Settings. > # Now able to build and run the Hello app, as well as build and archive, so > everything is 100% OK with Xcode 8.1 > # However, now with the CLI, cordova clean iOS fails as follows. To make > matters worse, the clean is destructive, erasing the platforms/ios/www > directory! > sh-3.2# ls platforms/ios > .DS_Store HelloCordova cordova > pods-debug.xcconfig > .gitignore HelloCordova.xcodeproj ios.json > pods-release.xcconfig > CordovaLib HelloCordova.xcworkspace platform_www > www > sh-3.2# cordova clean ios > === CLEAN TARGET CordovaLib OF PROJECT CordovaLib WITH CONFIGURATION Debug === > … > === CLEAN TARGET HelloCordova OF PROJECT HelloCordova WITH CONFIGURATION > Debug === > Check dependencies > [BCEROR]No profiles for 'io.cordova.hellocordova' were found: Xcode couldn't > find a provisioning profile matching 'io.cordova.hellocordova'. > [BCEROR]Code signing is required for product type 'Application' in SDK 'iOS > 10.1' > … > ** CLEAN SUCCEEDED ** > === CLEAN TARGET CordovaLib OF PROJECT CordovaLib WITH CONFIGURATION Release > === > … > === CLEAN TARGET HelloCordova OF PROJECT HelloCordova WITH CONFIGURATION > Release === > Check dependencies > [BCEROR]No profiles for 'io.cordova.hellocordova' were found: Xcode couldn't > find a provisioning profile matching 'io.cordova.hellocordova'. > [BCEROR]Code signing is required for product type 'Application' in SDK 'iOS > 10.1' > … > ** CLEAN SUCCEEDED ** > sh-3.2# ls platforms/ios > .DS_Store HelloCordova cordova > pods-debug.xcconfig > .gitignore HelloCordova.xcodeproj ios.json > pods-release.xcconfig > CordovaLib HelloCordova.xcworkspace platform_www > sh-3.2# > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org