Swift:#warning等效

Swift有一个等同的#warning吗?
它只是用来在Xcode自己的GUI中显示警告

我也很感兴趣是否有一个#error等效。

苹果已经说过#pragma mark即将推出,这可能是一样的。

在未来,苹果的开发者可能很好地发布//警告:地标,或提供另一个命名的地标的功能

为了在Xcode今天使用Swift来支持这个功能,你可以做如下的Ben Dodson& Jeffrey Sambells:

将新的运行脚本添加到目标的构建阶段选项卡(项目设置>构建阶段>”>新的运行脚本阶段),并将以下代码粘贴到空框中:

TAGS="Todo:|FIXME:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"

这将强制Xcode在编译时为任何// Todo:或// FIXME:评论标记一个警告。

或者,您可以使用自定义标记修改TAGS:TAGS =“WARNING:”在上面的代码中,这将保持Todo& FIXME,并且会对标记为// WARNING:的任何注释引发编译时警告。

http://bendodson.com/weblog/2014/10/02/showing-todo-as-warning-in-swift-xcode-project/
http://jeffreysambells.com/2013/01/31/generate-xcode-warnings-from-todo-comments

编辑:18/11/14

@ david-h在他的评论中提出了一个好点。如果您只想在特定构建配置中提出这些警告,可以执行以下操作:

if [ "${CONfigURATION}" = "Debug" ]; then
TAGS="Todo:|FIXME:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"
fi

或者,您可以使用“释放”而不是“调试”仅定位生产构建。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...