Without really knowing what you want to do, I would say the easiest and most efficient way would be to use WCF Data Services.
You don't necessarily have to include a library to consume a WCF Data Service's OData feed. The service is just returning either XML or JSON, based on what you set in your Accepts header:
For XML (which is the default format):
Accepts: application/atom+xml
For JSON:
Accepts: application/json
Your interaction with your WCF Data Service is all through HTTP. The client libraries you're looking at just help you with those calls, but if you can program against HTTP with Objective-C, then you don't need it.
Plus, WCF Data Services and OData supports all CRUD operations using the HTTP verbs GET, POST, PUT and DELETE (and MERGE, which is new for this protocol, I believe). If, in your iPhone app, you can create HTTP requests using POST, PUT and DELETE verbs/methods, then your service will support that.
So I'd go with WCF Data Services. Just watch out if you're dealing with the raw output that it can be kind of verbose. If you can handle JSON in your iPhone app, I'd go that way to cut down on the size of the payloads.
And I should say that I'm not an iPhone developer, so I may be missing something here. Hopefully this helps and let me know if there are other questions and I'll update my answer accordingly.
Thanks.