NativeScript/nativescript-cli

TNSNativeSource gets duplicated in Xcode projects

jvaronenka opened this issue · 5 comments

Issue Description

Starting with NativeScript v8.6.0, ns prepare ios may duplicate native code section TNSNativeSource in Xcode projects.

In particular, this seems to be related to this PR: NativeScript/nativescript-dev-xcode#15

Reproduction

Download the file to ~/Downloads folder: extra.zip

  1. ns create testApp --js
  2. cd testApp
  3. ns platform add ios
  4. cd App_Resources/iOS
  5. mkdir src
  6. cd src
  7. cp ~/Downloads/extra.zip .
  8. unzip extra.zip
  9. rm extra.zip
  10. cd ../../..
  11. ns prepare ios
  12. touch App_Resources/iOS/src/extra.m
  13. ns prepare ios
  14. open platforms/ios/testApp.xcodeproj

Relevant log output (if applicable)

Screenshot 2023-10-19 at 13 05 10

Environment

No response

Please accept these terms

Having the same issue with NativeScript v8.6.1 and Xcode 14.3

This is known, but should not cause any problems because these are just "links" and not actual copies of the sources. We'd of course like to fix the duplication, but if you are running into build errors it's likely not related to this.

No, there are no build errors. But it issues warnings against each duplicate native source file and they annoyingly cumulate with every prepare. I have found a workaround to get rid of them like “Delete”ing the duplicate TNSNativeSource entries on Xcode with “Remove References” option, which only deletes the duplicate entry, not the actual files. Thanks for the reply.

No build issues here either, except that we are using a proprietary tool that does additional processing on Xcode projects. I have not had any luck in getting their developers to acknowledge this as their issue, thus trying here instead. That's what we eventually resorted to - just manually deleting the duplicate sources from inside XCode.

This is definitely the right place, it's on NativeScript CLI to fix this. I was just commenting that in general this bug should not cause build issues, but it's definitely a bug.