Xcode how to exclude FOLDERS from compilation?

2020-07-06 04:20发布

I saw this and answers in stackO, but didn't find how to exclude folders.

I have 3 folders with a lot of .h , .m and .mm and i need to exclude them temporary, but not to remove references. How can i do that?

4条回答
欢心
2楼-- · 2020-07-06 04:48

This answer covers only how to exclude the files from the build or the matching file patterns.Exclude from the path or the folder has currently not been implemented in the Xcode

  • Select the editor
  • Select Add Build Setting
  • In Add Build Setting select Add User Defined Settings for this select the project for which you want to add the user defined settings.
  • Select the name of it as EXCLUDED_SOURCE_FILE_NAMES
  • Set the value as filename patterns,the files you want to exclude.

or

You can use the File Inspector and in the target membership simply uncheck the file which you do not want to include in your build

Similarly the same thing can be done compile sources category where you can select the file which you want to add to your build.

查看更多
家丑人穷心不美
3楼-- · 2020-07-06 04:53

From looking at the post you link to. Here is how you do it:

  1. Go to Build Settings.

  2. Press the plus button and select "Add User-Defined settings"

enter image description here

  1. Give the new field the name of EXCLUDED_SOURCE_FILE_NAMES.

enter image description here

  1. Add the path to the folder: <Path>/FolderToIgnore/*. The asterisk denotes all the file in the folder.

enter image description here

That should do it.

Note: Make sure you add this to the right target.

查看更多
Emotional °昔
4楼-- · 2020-07-06 04:53

xcode 9.2

Build Settings> Build Options> Excluded Source File Names

enter image description here

查看更多
叛逆
5楼-- · 2020-07-06 04:57

Can't comment, but wanted to note that, unless I'm doing something wrong, when using the EXCLUDED_SOURCE_FILE_NAMES build setting as explained in the other answered, excluding a folder using something like */Folder/* won't exclude anything within sub-folders of Folder, but only files within it directly. If you had another folder, eg. /Folder/Subfolder/, you'd have to include */Folder/Subfolder/* as well in order to exclude any files within it. At least this is the case in Xcode 10.3.

Example:

[Folder]
    item.txt
    [Subfolder]
        image.png
    info.plist

*/Folder/* would exclude item.txt and info.plist, but not image.png.

*/Folder/Subfolder/* would exclude image.png.

查看更多
登录 后发表回答