Cocoa: NSURLConnection not attempting an HTTP Request

前端 未结 2 375
无人共我
无人共我 2020-12-19 14:41

I\'ve had significant success with NSURL, NSURL[Mutable]Request, NSURLConnection with my iPhone applications. When trying to compile a stand alone Cocoa application, 10 line

相关标签:
2条回答
  • 2020-12-19 15:09

    The other poster pretty much answered this for you, but I thought I would just add a few things.

    First, you don't really need to link to Cocoa for this, just linking to the Foundation framework is okay. Also, since you don't need a connection to the Window Server, you can get rid of the [NSApplication sharedApplicaiton] call. If you want just a simple, console test application to start with, use what you have now and add this before your [pool realease] call:

    [[NSRunLoop currentRunLoop] run];

    Please note, however, that this will block and may actually never return. Before calling this, you can add a timer if you want your code to actually do something in the background :) See the documentation on NSRunLoop for more ways to use this.

    0 讨论(0)
  • 2020-12-19 15:18

    NSURLConnection is an asynchronous API that relies upon NSRunLoop. Your posted code never creates a run loop for the connection to run in. Therefore, I presume Cocoa is unable to create the connection and so returns nil. Things to look into:

    1) Anything in the console? Is NSURLConnection throwing an exception or logging an error?

    2) What happens if you use the synchronous API instead? +[NSURLConnection sendSynchronousRequest:returningResponse:error:]

    3) What is the point of this code? Cocoa is not designed for running directly from a main() function yourself. Is there a particular reason why you are not using the Xcode-provided application templates that will take care of setting up run loop, autorelease pool etc.?

    0 讨论(0)
提交回复
热议问题