[ 
https://issues.apache.org/jira/browse/CB-12084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15620474#comment-15620474
 ] 

Kerri Shotts commented on CB-12084:
-----------------------------------

[~nickredding],

It looks like you ran across a glitchy edge case in the Storyboard support 
code. A few points first:

1. Setting the launch storyboard to CDVLaunchStoryboard should not be done from 
within Xcode. It's intended only to be set if the CLI detects that the 
appropriate storyboard images are defined in config.xml.
    a. This isn't to say you can't set it safely, but if you do, you must have 
corresponding storyboard images defined in config.xml. CDVLaunchStoryboard is 
not intended to be used without corresponding storyboard images.
    b. If you want your own storyboard, you must use a different name. Then 
we'll ignore it entirely in that case.
2. There is code in place to switch back to the launch images if the user has 
removed storyboard images from config.xml. <-- this is where the bug happened
3. Storyboard support in 4.3.0 is bugged; it will be fixed and publicized in 
4.3.1
    a. Right now launch storyboard images aren't copied to the asset catalog 
correctly. So you end up with a white splash screen on startup.

The bug occurred because I mistakenly assumed (I know...) that setting a key to 
undefined would cause the entry to delete itself from the Info.plist... it 
doesn't. Instead i have to use `delete ...` on the key. Not doing so corrupts 
Info.plist, which causes Xcode (and associated build tools) to freak out.

On my system a second CLI build would usually right the ship, because the next 
pass essentially removed the invalid plist entry.

So your issue with the failing build is that the platform code thought you were 
going /back/ to a launch image build from a launch storyboard build (no 
storyboard images in your config.xml), and in doing so, it corrupted your 
Info.plist file. 

Now that I know this, I'll fix this bug as well for 4.3.1.

(Note: this has nothing to do with the clean issue -- just the build issue.)

> 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