Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为ios实现RabbitMq?_Ios_Objective C_Rabbitmq - Fatal编程技术网

如何为ios实现RabbitMq?

如何为ios实现RabbitMq?,ios,objective-c,rabbitmq,Ios,Objective C,Rabbitmq,我正试图在我的ios项目中实现RabbitMQ。 首先,我用https://github.com/profmaad/librabbitmq-objc 然而,经过几步,它仍然不起作用,我感到沮丧,并切换到这一个 https://github.com/EFEducationFirstMobile/librabbitmq-objc 这就像对IOS的预支持(Foundation而不是Cocoa,ARC-supported…),我只是复制了rabbitmq-c文件夹和wapper类。它构建成功 然后我试着

我正试图在我的ios项目中实现RabbitMQ。 首先,我用
https://github.com/profmaad/librabbitmq-objc

然而,经过几步,它仍然不起作用,我感到沮丧,并切换到这一个

https://github.com/EFEducationFirstMobile/librabbitmq-objc

这就像对IOS的预支持(
Foundation
而不是
Cocoa
,ARC-supported…),我只是复制了
rabbitmq-c
文件夹和wapper类。它构建成功

然后我试着用以下代码行运行它:

 AMQPConnection *connection = [[AMQPConnection alloc] init];
[connection connectToHost:@"123.45.678.90" onPort:12345];
[connection loginAsUser:@"test" withPassword:@"test" onVHost:@"/"];
AMQPChannel *channel = [connection openChannel];
但它在第二行抛出了这个错误:

检测到试图调用iPhone上不存在的系统库中的符号: fcntl$UNIX2003从image MyApp中的函数amqp_open_socket_noblock调用


有人能帮我解决这个错误吗?感谢advanced。

缺陷已由Dmitry Makarenko(lib的所有者)修复。

要获得正确答案,您可以使用objective-c将其用于iOS,这很痛苦,但是可行的

从我自己的研究来看,似乎有很多人已经成功了,但他们都是封闭源代码项目,他们不会共享源代码

对于您的问题,您必须确保在项目中包括rabbitMQ-c源代码以及包装器。取出所有与ARC冲突的dealloc材料或关闭包装器的ARC

为了回答您的问题,只需将cocoa\cocoa导入行更改为foundation\foundation.h。

我也在使用。我可以使用此库连接、创建exchange、创建队列、绑定队列发布消息:

在iOS中使用

删除:

#import <Cocoa/Cocoa.h>
#import <Foundation/Foundation.h>
# import <amqp.h> 
# import "amqp.h"

我希望这几乎能解决你的问题。您可能会在uint64上遇到一些错误,请按照Xcode的建议进行修复。它会很好地工作。

在iOS平台上很难找到rabbitmq的现成、简单的安装库问题在于实现rabbitmq-c,所以我尝试使用CoCoCoapod创建自己的实现包装器。OLRabbitMQ()也是包装器,但您可以使用cocoapods。

我知道,在IOS项目中实现
profmad
的lib时必须做些什么。但是,您不必使用
EFEducation
,因为该库支持ios。您是要在ios应用程序中运行RabbitMQ,还是只连接到其他地方运行的实例并执行操作?感谢分享。发送消息时是否可以设置自定义标题参数或回复?