cordova-ios
cordova-ios copied to clipboard
[WIP] refactor!: Consistent app template/Xcode project name
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_NAMEto the config.xml name value so that the resulting app/ipa file has the expected name - [ ] See if we can set
PRODUCT_BUNDLE_IDENTIFIERin 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.plistto justInfo.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)