[ 
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

Reply via email to