【发布时间】:2014-01-19 06:14:02
【问题描述】:
我已经在 Google/Stackoverflow 中搜索了关于此的“所有内容”,但我仍然卡住了。我刚刚开始开发 OSX 应用程序,所以我是 Objective-C 和 Xcode 5 (5.0.2) 的(几乎)完整新手。
我只需要一个简单的 webview 来从给定的 URL 加载 webgame。这个 webview 的行为必须像一个非常简单的 Safari 浏览器。我的应用程序已经运行得比较好。它可以正常加载游戏,经过一番挣扎后,我成功地让它显示了 javascript 警报并确认。
要点:我需要向用户显示一条简单的短信,以防检测到没有互联网连接,然后我需要关闭应用程序。这似乎是一件很微不足道的事情,但我找不到办法做到这一点!
那是我的 appDelegate.M:
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize myWebView;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
// Check if there's internet connection:
#include <SystemConfiguration/SystemConfiguration.h>
static BOOL internetOk()
{
BOOL returnValue = NO;
struct sockaddr zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sa_len = sizeof(zeroAddress);
zeroAddress.sa_family = AF_INET;
SCNetworkReachabilityRef reachabilityRef = SCNetworkReachabilityCreateWithAddress(NULL, (const struct sockaddr*)&zeroAddress);
if (reachabilityRef != NULL)
{
SCNetworkReachabilityFlags flags = 0;
if(SCNetworkReachabilityGetFlags(reachabilityRef, &flags))
{
BOOL isReachable = ((flags & kSCNetworkFlagsReachable) != 0);
BOOL connectionRequired = ((flags & kSCNetworkFlagsConnectionRequired) != 0);
returnValue = (isReachable && !connectionRequired) ? YES : NO;
}
CFRelease(reachabilityRef);
}
return returnValue;
}
// -
if(internetOk())
{
[self.window setContentView:self.myWebView];
[self.window toggleFullScreen:@""];
[self.myWebView setMainFrameURL:@"http://www.mywebgameurl.com"];
}
else
{
// SHOWS ERROR MESSAGE AND CLOSES APP! HOW CAN I DO IT????
}
}
@end
欢迎任何帮助,谢谢!
【问题讨论】:
标签: macos cocoa text webview xcode5