How to make WebView OSX Xcode project load a URL on launch?
Asked Answered
T

3

6

Okay, well I am trying to learn how to develop mac apps. I have done making a web browser and all, but I really want to know how to make the WebView load a URL (lets say http://google.com/) when the apps start. How do I do that?

Tureen answered 24/1, 2011 at 0:15 Comment(0)
C
12

In your app delegate, implement

-(void)applicationDidFinishLaunching:(NSNotification*) notification
{
     ....
}

This method is called automatically by the Cocoa system when the app did finish launching, quite obvious, right?

Suppose you have IBOutlet WebView*webview in your app delegate. Then all you have to do is, inside applicationDidFinishLaunching:, to call

 NSURL*url=[NSURL URLWithString:@"http://www.google.com"];
 NSURLRequest*request=[NSURLRequest requestWithURL:url];
 [[webview mainFrame] loadRequest:request];

That's all!

Cultivator answered 24/1, 2011 at 3:6 Comment(3)
Soemhow still doesn't work for me, do I need to link it in Interface builder?Pelmas
Yes you need to connect the webview outlet to the Web View in the interface. Otherwise, how the app knows what the variable webview in your code refers to? In a complicated app, there can be more than one WebView in the interface builder. So you need to specify one, even if there's only one.Cultivator
I can't believe you can't do this from Interface Builder.Competitor
P
8

You could just put

[webview setMainFrameURL:@"http://www.google.com/"];
Punak answered 17/8, 2011 at 22:24 Comment(0)
L
-1

Both of the answers should work but if your making it for mac with Xcode 4,(im not sure about the older versions). Three things, one you have to declare an IBOutlet for your webview called webview (because that is what it is in the two examples) and you have to synthesize it in the .m file. Two instead of [[webview mainFrame] loadRequest:request] it has to be [[_webview mainFrame] loadRequest:request] (because thats what its synthesized as). And last of all you need to add the webKit framework, and import it in the header file with #import

-Thats all you need to do to get it to work on mac with Xcode 4

Lizzettelizzie answered 29/7, 2012 at 21:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.