用于 Objective C 和 Swift的RabbitMQ客户端

・5 分钟阅读

  • 源代码名称: rabbitmq-objc-client
  • 源代码网址: https://www.github.com/rabbitmq/rabbitmq-objc-client
  • rabbitmq-objc-client的文档
  • rabbitmq-objc-client的源代码下载
  • Git URL:
    git://www.github.com/rabbitmq/rabbitmq-objc-client.git
  • Git Clone代码到本地:
    git clone https://www.github.com/rabbitmq/rabbitmq-objc-client
  • Subversion代码到本地:
    $ svn co --depth empty https://www.github.com/rabbitmq/rabbitmq-objc-client
                              Checked out revision 1.
                              $ cd repo
                              $ svn up trunk
              
  • RabbitMQ objective-c 和 Swift 客户端

    Build Status

    一个RabbitMQ客户端,主要受Bunny的影响。

    在Swift中测试,并且在Objective-C中实现,以避免使用Swift给Objective-C开发人员带来负担。

    当前实现

    使用 Carthage安装

    使用以下行创建一个 Cartfile:

    
    github"rabbitmq/rabbitmq-objc-client" ~> 0.10.0
    
    
    
    

    在一个新项目中运行 carthage,例如:

    
    carthage bootstrap
    
    
    
    

    在你的Xcode项目中,在目标的Build Phases部分中,打开Link Binary with Libraries。 比如 Carthage/Build/iOS/RMQClient.framework

    如果你还没有,请单击Build Phases下的'' 图标",添加Copy Files"。

    在Destination 选择Frameworks。

    单击' '并添加 RMQClient.framework, 确保已经选中 Code Sign on Copy

    使用 CocoaPods安装

    将以下内容添加到 Podfile:

    
    pod 'RMQClient', '~> 0.10.0'
    
    
    
    

    我们建议添加use_frameworks!启用模块化导入(仅限Objective-C)。

    运行 pod install

    使用 open MyProject.xcworkspace 打开项目。

    Objective-C用户:在当前版本中使用 @import RMQClient; 导入会产生错误,但是这不应该阻止代码编译和运行。 导入crocodile可以避免这个 Xcode Bug: #import <RMQClient/RMQClient.h>

    文档

    • 客户端库提供了几个RabbitMQ教程。

    ( 基本) 用法示例

    实例化 RMQConnection:

    let delegate =RMQConnectionDelegateLogger() // implement RMQConnectionDelegate yourself to react to errorslet conn =RMQConnection(uri: "amqp://guest:guest@localhost:5672", delegate: delegate)

    连接:

    conn.start()

    创建通道:

    let ch = conn.createChannel()

    使用通道:

    let q = ch.queue("myqueue")
    q.subscribe({ m inprint("Received: (String(data: m.body, encoding: String.Encoding.utf8))")
    })
    q.publish("foo".data(using: String.Encoding.utf8))

    完成后关闭连接:

     
    conn.close()
    
    
    
     

    有关详细说明,请参见教程

    然后启动一个本地 RabbitMQ node,使用 .travis/etc/ 下的文件配置它,例如:

    然后启动一个本地 RabbitMQ node ( 无论你怎样,不必来自 Homebrew 或者源代码),使用 .travis/etc/ 下的文件配置它,例如:

    
    brew install rabbitmq
    
    
    cp. travis/etc/*/usr/local/etc/rabbitmq/
    
    
    /usr/local/sbin/rabbitmq-plugins enable --offline rabbitmq_auth_mechanism_ssl
    
    
    brew services start rabbitmq
    
    
    
    

    然后运行几个设置步骤:

    
    bin/bootstrap-if-needed
    
    
    make test_user
    
    
    
    

    最后,运行测试套件:

    This package, the RabbitMQ Objective-C client library, is dual-licensed under the Mozilla Public License 1.1 ("MPL") and the Apache License version 2 ("ASL").

    许可证

    这个包是 RabbitMQ objective-c 客户端库,是 Mozilla public 许可 1.1 ("mpl") 和Apache许可版本 2 ("asl") 下的双重许可。

    讨论
    Fansisi profile image