ios - iOS 模拟器中存在头文件,但 iOS 设备上不存在...?

标签 ios ipad header-files simulator

我创建了一个简单的 iOS 程序,可以顺利编译并在 iPad 模拟器上运行良好。当我告诉 XCode 4 使用我连接的 iPad 设备时,无法编译相同的程序。问题似乎是当我尝试使用附加的 iPad 时,无法找到多个头文件。

以下是iPad设备上找不到的头文件(摘自相关include语句):

#include <sys/socketvar.h>
#include <netinet/tcp_fsm.h>
#include <netinet/tcp_var.h>

例如,我收到的错误消息类似于

Sys/socketvar.h: No such file or directory

请不要被文件名转移注意力...我在程序中做了一些相当低级的套接字相关的事情,并且无法利用 Apple 提供的更高级别的 API。

我的问题是:什么给出了?即,为什么我能够在 iPad 模拟器上运行这个程序(利用上面提到的三个头文件),但不能在实际的 iPad 上运行?另外,是否还有其他位置可以在物理 iOS 设备上引用这些头文件?

最佳答案

感谢您的反馈 - 解决方案是简单地花一些时间检查头文件依赖项并手动重新创建丢失的文件。最后,有七个(不是手工争论的世界末日),我的程序在 iPad 模拟器和物理设备上都可以顺利编译和执行。

不过,我肯定更喜欢物理 iOS 设备和模拟器上可用的头文件之间有更好的奇偶性!然而,公平地说,我可能属于真正需要使用此类低级网络 API 的一小部分开发人员。

关于ios - iOS 模拟器中存在头文件,但 iOS 设备上不存在...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6719049/

相关文章:

Webview 中的 iOS 13 iPad 用户代理问题

c++ - 有没有办法避免头文件中使用的 constexpr 函数在没有额外命名空间的情况下进入全局范围?

c++ - 抑制 Xcode 对库头中内联函数的未使用函数警告的正确方法

iphone - 自定义 UIView 内存泄漏 - iPhone/iPad/iOS 应用程序开发

ios - Xcode 中的代码签名 "Debug"或 "Release"有什么意义?

html - 我的网站无法在 Ipad 上运行,我该如何解决一些小问题?

iphone - 在 iPad/iPhone 上使用 CSS @font-face

c++ - 如何在 C++ 中用更少的空间定义类字段/方法

javascript - 加速 HTML5 视频搜索?

iOS UITabBar 使 'fake' 成为事件选项卡?