如何为ios实现RabbitMq?
我正试图在我的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类。它构建成功 然后我试着
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,还是只连接到其他地方运行的实例并执行操作?感谢分享。发送消息时是否可以设置自定义标题参数或回复?