我已经更新了 Xcode,并且自从更新以来,我一直在为我创建的每个新类的每个新头文件获取NS_ASSUME_NONNULL_BEGIN
和宏。NS_ASSUME_NONNULL_END
我知道它的作用,但我对它的可空性注释不感兴趣,当我尝试nil
在我的应用程序中设置一些属性时,它会导致不必要的警告(完全可以设置为nil
)。
每次创建新文件时,如何防止 Xcode 创建这些文件?(除了明显的:单独删除它们)
我已经更新了 Xcode,并且自从更新以来,我一直在为我创建的每个新类的每个新头文件获取NS_ASSUME_NONNULL_BEGIN
和宏。NS_ASSUME_NONNULL_END
我知道它的作用,但我对它的可空性注释不感兴趣,当我尝试nil
在我的应用程序中设置一些属性时,它会导致不必要的警告(完全可以设置为nil
)。
每次创建新文件时,如何防止 Xcode 创建这些文件?(除了明显的:单独删除它们)
基于这个和这篇文章,我能够创建自定义模板来摆脱NS_ASSUME_NONNULL*
宏。
摘自第一条:
地点
这些用户定义的模板位于 ~/Library/Developer/Xcode/Templates/File Template。如果缺少此类文件夹,您可以自己创建它,Xcode 将在重新打开时链接到它。您也可以将它们分组到该文件夹内的子文件夹中。例如,~/Library/Developer/Xcode/Templates/File Template/Custom Templates 和 Xcode 将在创建新文件时正确呈现这些组。
模板设置
每个模板都是一个带有 .xctemplate 扩展名的文件夹。该文件夹包含将填充并添加到项目和配置 TemplateInfo.plist 的文件模板和资源。
模板创建期间用户可以填写的所有模板设置和字段都在 TemplateInfo.plist 中定义。
创建路径如下:
~/Library/Developer/Xcode/Templates/File Templates/Source/My Awesome
Template.xctemplate
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File
Templates/Source/Cocoa Touch Class.xctemplate
TemplateIcon.png
,TemplateIcon@2x.png
到
TemplateInfo.plist
我们的My Awesome Template.xctemplate
文件夹。如果您在浏览器中不需要它们或使用您自己的,您可以省略复制图标。NSObjectObjective-C and NSObjectSwift
文件夹以便能够创建 Obj C 和 Swift 文件。___FILEBASENAME___.h
, ___FILEBASENAME___.m
, ___FILEBASENAME___.swift
, 例如放置你的宏或者在我们的例子中删除周围的NS_ASSUME_NONNULL*
宏我找到了一个最好的方法:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate/NSObjectObjective-C
___FILEBASENAME___.h
到任何地方NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END