cordova-ios icon indicating copy to clipboard operation
cordova-ios copied to clipboard

[WIP] refactor!: Consistent app template/Xcode project name

Open dpogue opened this issue 1 year ago • 1 comments

Platforms affected

iOS

Motivation and Context

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.

Possibly closes GH-664. Possibly closes GH-717. Possibly closes GH-764. Possibly closes GH-793. Possibly closes GH-795. Possibly closes GH-826 (due to not needing to do dynamic Info.plist lookups). Possibly closes GH-1049. Possibly closes GH-1150. Possibly closes GH-1289. Closes GH-1464.

Description

Remaining work:

  • [ ] Set the PRODUCT_NAME to the config.xml name value so that the resulting app/ipa file has the expected name
  • [ ] See if we can set PRODUCT_BUNDLE_IDENTIFIER in a better way at create-time to avoid token replacement
  • [ ] Test with https://github.com/apache/cordova-common/pull/212 to see if we can rename App-Info.plist to just Info.plist
  • [ ] Test with Cocoapods to make sure they still work as expected
  • [ ] Test with Cocoapods and non-ASCII project names to ensure everything works

Testing

All unit tests pass. Tested manually with mobilespec.

Checklist

  • [x] I've run the tests to see all new and existing tests pass
  • [ ] I added automated test coverage as appropriate for this change
  • [x] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)

dpogue avatar Aug 30 '24 08:08 dpogue