菜鸟教程小白 发表于 2022-12-13 01:43:25

ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息


                                            <p><p>我有一个项目在 XCode 6 测试版中编译得很好,但现在,在 GM 中,它不会为 iOS 设备编译,给出错误:</p>

<pre><code>myController.m:393:9: No visible @interface for &#39;UIDevice&#39; declares the selector &#39;initialize:&#39;
</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>&#39;Enable Modules (C and Objective-C&#39;: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]
查看完整版本: ios - Xcode 6 GM 无法为 iOS 设备编译,但在模拟器中很好 - 奇怪的错误消息