cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kerri Shotts (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-12084) iOS 4.3.0 CLI tools fail with Xcode 8.1
Date Sun, 30 Oct 2016 19:50:58 GMT

    [ 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-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message