在未来,苹果的开发者可能很好地发布//警告:地标,或提供另一个命名的地标的功能。
原文链接:https://www.f2er.com/swift/321736.html为了在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
或者,您可以使用“释放”而不是“调试”仅定位生产构建。