ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息
<p><p>我有一个项目在 XCode 6 测试版中编译得很好,但现在,在 GM 中,它不会为 iOS 设备编译,给出错误:</p>
<pre><code>myController.m:393:9: No visible @interface for 'UIDevice' declares the selector 'initialize:'
</code></pre>
<p>在这一行:</p>
<pre><code>if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
</code></pre>
<p>对于模拟器,它仍然编译得非常好;我也尝试了这些修复:</p>
<ul>
<li>清理整个项目并重新构建。</li>
<li>从 ~/Library/Developer/XCode 中删除所有派生数据</li>
<li>重新安装 XCode</li>
<li>检查 XCode 首选项并将命令行工具的位置指向 XCode 6(XCode 5 仍然安装在机器上并且它指向那里)</li>
</ul>
<p>...但没有运气。编译时同样的错误。</p>
<p>帮助!随着 iOS8 的临近,我们的时间紧迫,这真是令人头疼。</p>
<p>PS:我们还在工作区中使用 Cocoapods,这是物有所值的。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>好的,我在费了很多力气之后才解决了这个问题。有问题的应用程序是一个 iOS 8 应用程序,带有嵌入式 Today Extension。 </p>
<p>原来,在添加 Today Extension 时,XCode 已经添加了build设置:</p>
<blockquote>
<p>'Enable Modules (C and Objective-C':YES</p>
</blockquote>
<p>我的项目和包含的应用程序目标都没有使用此build设置,但将其设置为 YES 会导致与尝试自动链接框架(并且失败)和各种最终与头文件相关的奇怪错误消息有关的问题。 </p>
<p>问题更加复杂,因为源文件既是包含应用程序的目标成员,也是 Today Extension 的目标成员。</p>
<p>希望此信息对其他人有所帮助。</p>
<p> <img src="/image/n3Dy5.png" alt="enter image description here"/> </p>
<p>卡尔</p></p>
<p style="font-size: 20px;">关于ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/25754324/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/25754324/
</a>
</p>
页:
[1]