rabbitmq / rabbitmq-objc-client

RabbitMQ client for Objective-C and Swift
https://rabbitmq.com
Other
241 stars 84 forks source link

Cannot declare a queue ( Urgent help needed ) #140

Closed sanctioned-account closed 6 years ago

sanctioned-account commented 6 years ago

Hi everyone,

I recently switched to this library after using the C library for a long time. I'm trying to write a very basic code on sending and receiving a test message. According to the documentation on RabbitMQ website a new queue should be declared like this: RMQQueue *q = [ch queue:@"hello"];

However, after execution of this line the app stops with this error: [RMQQueueDeclare initWithQueue:options:arguments:]: unrecognized selector sent to instance

This method is called in memoizedQueueDeclare:options:arguments: method inside RMQAllocationChannel.m where RMQMethods+Convenience.h is imported as is implemented inside the Convenience category on RMQQueueDeclare.

The selector is there, the right object is receiving the method, and above all nothing is changed and this code is a part of the pod I installed using Cocoapods. It seems that this problem is a part of the library and I haven't found any open issues or topics related to this.

As the case is too urgent for me, any attentions, ideas, quick fixes or anything is really really appreciated.

Thank you all in advanced.

michaelklishin commented 6 years ago

Thank you for your time.

Team RabbitMQ uses GitHub issues for specific actionable items engineers can work on. GitHub issues are not used for questions, investigations, root cause analysis, discussions of potential issues, etc (as defined by this team).

We get at least a dozen of questions through various venues every single day, often light on details. At that rate GitHub issues can very quickly turn into a something impossible to navigate and make sense of even for our team. Because GitHub is a tool our team uses heavily nearly every day, the signal/noise ratio of issues is something we care about a lot.

Please post this to rabbitmq-users.

Thank you.

michaelklishin commented 6 years ago

See server logs, you may be running into a channel exception. Running executable versions of the tutorials first is also a good idea.

That's about as much as can be suggested with the amount of information provided. Use a debugger to see what's going on, keeping in mind that it will pause program execution and at some point connection will be closed due to inactivity by the server.

michaelklishin commented 6 years ago

Oh, and making sure that the channel is open (a channel-level exception closes it) is also a good idea. Closed channels cannot be used for anything.