-
Notifications
You must be signed in to change notification settings - Fork 986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename generated Xcode project to "CordovaApp" or something consistent #1464
Comments
I think having a consistent project name is a great idea. Beyond the issues caused by non-ASCII project names, I've also heard of cases where hook scripts were needed to modify something within the project workspace. However, because the project name was inconsistent, they had to parse directory paths to extract the project name. A consistent project name would simplify this process. It would also help clean up some of the node side in Cordova-iOS. |
Hi, I am currently also searching for a possibility to define (or just have) a simple technical project name instead of using app name. Using app name as technical identifier is really not ideal because its purpose is to be a human readable display name for the target audience (with all those spaces and special characters). In my use case it gets even worse because we have one app codebase for several different app variants where each variant needs to have different name (and package name and bundle ID and other identifiers). We use My current workaround (I am working on now) is to have simple stable My solution proposal would be either of these:
I favour option 2) more because all naming would be defined in single element and it just extends current ability to define Also the advantages of both options are:
|
@Mrkvozrout you might want to take a look at PR #1485 The above PR is refactoring to make the name of the app template/Xcode project consistent and will be hard set to The |
I saw it and understood but thought that custom project name might be useful and offered solution. Anyway the fixed project name is simpler and sufficient (and I guess it is consistent with the android's So good for me and lets hope your PR is merged and delivered soon :) |
Question about the PR - Will "dynamic" change of name ( Expectation - if I update the name via hook early enough ( I tried to change the name in To be answered:
Thanks for answers in advance |
That check will be removed allowing name changes across builds (without removing and re-adding the platform) via
It is being treated as a breaking change, among several other improvements so it will be part of a 8.0.0 released, assuming #1485 does indeed gets merged. Due to the volunteer nature of Apache Cordova project we can't reliably give any timelines.
Unlikely because the repo is already in a As a workaround for the time being... In my workflows I have |
Feature Request
Motivation Behind Feature
Currently, the generated Xcode project uses the application name for both the project and the target name. This means that file paths in generated projects are not consistent and we have to do regex-based token replacements during project creation. It also makes modifying the template project a pain because opening the template project directly in Xcode causes a bunch of those tokens to break.
The deeper problem is that some tooling (notably Cocoapods) struggles with project and target names with non-ASCII characters. By making the project name consistent, we can hopefully avoid those problems.
This could potentially also solve long-standing issues around
<config-file>
and<edit-config>
for things like the Info.plist (currently named{{projectname}}-Info.plist
) and node-xcode corrupting other targets due to not being able to restrict changes to just the app target.Feature Description
The generated Xcode project would be named
App.xcodeproj
orCordovaApp.xcodeproj
.The application target within that project would be named
App
orCordovaApp
.Prior Art: Capacitor projects are named
App.xcodeproj
with a default target namedApp
.Alternatives or Workarounds
The current method mostly works (as long as you don't have non-ASCII characters in the project name), so there's a valid argument for keeping the existing behaviour.
The workaround for now is to generate a project with an ASCII name and then override the app's display name, which is pretty much what this change would accomplish by default.
Ref #717.
Ref #1150.
Ref #1289.
The text was updated successfully, but these errors were encountered: