ios - 如何将 CocoaHTTPServer 添加到 XCode 4 上的 iOS 项目

标签 ios xcode xcode4 cocoahttpserver

我正在尝试添加 CocoaHTTPServer到我的项目。我在路上遇到了很多问题 - 我的问题(将 CocoaHTTPServer 添加到项目中(并使其工作))仍然存在 - 但我也包含了我在路上遇到的错误和解决方案供其他人引用。

首先我查看了有关添加框架的教程,但它看起来不像框架。

接下来,我右键单击我的项目(在左侧边栏上),然后使用“添加文件”手动添加它。我关注了SimpleHTTPServer示例但出现“cocoa/cocoa.h”未找到错误。我搜索了一下,发现 Cocoa 适用于 mac,而不适用于 iOS。但是 CocoaHTTPServer 描述也谈到了 iOS 应用程序,所以我只是删除了示例文件夹(如果我没记错的话,错误来自 DynamicHTTPServer 示例。

然后我收到“词法或预处理器问题 libxml/parser.h 未找到”错误。我尝试将其添加为框架,但这不起作用。我在adding libxml to the header search path上找到了这个教程(最后),但我最终遇到了 46 个“Apple Mach-O Linker Error _CFHTTPMessage...”错误,我决定在这里提出我的问题。我试过this answer但遇到了许多 Apple Mach-O 链接器错误

我添加了 CFNetwork 和安全框架(项目 => 构建阶段 => 将二进制文件与库链接),但留下了 2 个错误:

ld: warning: path '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/usr/lib/libxml2.dylib' following -F not a directory
Undefined symbols for architecture i386:
  "_NSlog", referenced from:
      -[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我看到 i386 是英特尔的,而不是 iDevices 上的 ARM 架构。然而,真正的问题是我拼写错误 NSLog (仔细看 - 错误消息中没有大写)。当我用谷歌搜索这个时 - 其他可能的原因可能是缺少框架。

现在可以编译了。当我运行示例应用程序时,我得到“服务器在 X 端口上启动”,当我转到 localhost:X 时,我得到欢迎/成功屏幕。当我对我的项目执行相同操作时,我仍然收到“服务器在 X 端口上启动”消息,但是当我转到 localhost:X 时,浏览器给出“无法连接”消息。 XCode 控制台中没有错误。

[httpServer start:&error] 没有错误,并且 httpServer.isRunning 为 true。

<小时/>

那么将 CocoaHTTPServer 添加到我的项目的最佳方法是什么?就干净的设置而言 - 例如,当我检查样本 iPhone project 时,我没有看到任何添加 libxml 的困惑步骤 - 我什至根本没有在任何地方看到 libxml。就配置一切而言,使其实际工作并提供文件。现在,我怀疑可能需要启用一些项目设置才能使其真正成为服务器。

最佳答案

在添加外部文件时,您是否将您的项目检查为“构建目标”?

A common Mistake

关于ios - 如何将 CocoaHTTPServer 添加到 XCode 4 上的 iOS 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17111377/

相关文章:

ios - 文件 URI 和文件路径 : phonegap plugin capture and camera

ios - 当我将 UIKit 元素添加到 subview 时,setFrame 不起作用

javascript - Mobile Safari、jQuery 和绑定(bind)到 future 的 DOM 元素

ios - 从 AVAssetImageGenerator 生成图像在不同时间提供相同的图像副本

iphone - 如何将 NSMutableArray 元素计数的文本输出到 iPhone 标签

c - xcode 中 Scanf() 的奇怪行为

iOS 静态库调试符号未包含在 dSYM 中

ios - 将我的 mobileprovision 和 p12 文件交给我的开发合作伙伴是否安全?

Xcode Interface Builder 性能缓慢

c - 使用 makefile 在 Xcode 4 中运行 C 程序