菜鸟教程小白 发表于 2022-12-12 15:09:30

ios - 如何在 OCLint 中使用 cocoapods 集成项目?


                                            <p><p>我可以构建项目并在没有 cocoapods 的项目上生成 OCLint 报告,但是当与 cocoapods 集成时,项目的构建是成功的,但是 <strong>OCLint</strong> 的构建会导致文件出现错误,这些错误存在于cocoapods 和构建失败。</p>

<p> <img src="/image/Pztzo.png" alt="enter image description here"/> </p>

<p>那么如何使用 OCLint 成功构建 cocoapods 呢?</p>

<p>任何帮助将不胜感激。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>以下是我使用 OCLint 为 cocoapods 集成项目生成 html 文件的脚本。</p>

<p>OCLINT_HOME 是 oclint 下载文件夹的路径。我已将文件夹重命名为 oclintrelease。</p>

<pre><code>OCLINT_HOME=/Users/Dheeraj/Downloads/oclintrelease
export PATH=$OCLINT_HOME/bin:$PATH

hash oclint &amp;&gt; /dev/null
if [ $? -eq 1 ]; then
echo &gt;&amp;2 &#34;oclint not found, analyzing stopped&#34;
exit 1
fi

cd ${TARGET_TEMP_DIR}

if [ ! -f compile_commands.json ]; then
echo &#34;[*] compile_commands.json not found, possibly clean was performed&#34;
echo &#34;Workspace Path : ${MY_WORKSPACE}&#34;
echo &#34;[*] starting xcodebuild to rebuild the project..&#34;
# clean previous output

if [ -f xcodebuild.log ]; then
rm xcodebuild.log
echo &#34;Oclint Clean performed&#34;
fi

cd ${SRCROOT}

xcodebuild clean

#build xcodebuild.log
xcodebuild ONLY_ACTIVE_ARCH=NO -workspace ${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -configuration Debug clean build| tee ${TARGET_TEMP_DIR}/xcodebuild.log
#xcodebuild &lt;options&gt;| tee ${TARGET_TEMP_DIR}/xcodebuild.log

echo &#34;[*] transforming xcodebuild.log into compile_commands.json...&#34;
cd ${TARGET_TEMP_DIR}
#transform it into compile_commands.json
oclint-xcodebuild

fi

echo &#34;[*] starting analyzing&#34;
cd ${TARGET_TEMP_DIR}

oclint-json-compilation-database -e /Users/Dheeraj/Desktop/sampleCocoaPods/Pods/ -v oclint_args &#34;-report-type html -o /Users/Dheeraj/NewHTMLREPORT.html&#34; | sed &#39;s/\(.*\.\m\{1,2\}:*:*:\)/\1 warning:/&#39;
</code></pre>

<p>它将排除所有与 Pods 相关的文件。</p>

<p>如果您还想包含 Pods 文件,请将脚本中的最后一行替换为:</p>

<pre><code>oclint-json-compilation-database -v oclint_args &#34;-report-type html -o /Users/Dheeraj/NewHTMLREPORT.html&#34; | sed &#39;s/\(.*\.\m\{1,2\}:*:*:\)/\1 warning:/&#39;
</code></pre>

<p><strong>注意事项:</strong> </p>

<ol>
<li>请先尝试使用包含 cocoapods 的简短示例应用程序,一旦您为示例应用程序生成报告,然后将脚本集成到您的实际应用程序中,因为使用 OCLint 构建需要大量时间来生成报告。</li>
<li>始终清理应用程序,然后使用 OCLint 构建。</li>
</ol>

<p> <a href="https://dheerajsingh5792.wordpress.com/2015/05/29/cocoapods-ios-oclint/" rel="noreferrer noopener nofollow">Link for reference</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 OCLint 中使用 cocoapods 集成项目?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30052657/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30052657/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 OCLint 中使用 cocoapods 集成项目?