Iphone:如果未连接互联网,则将用户带到设置菜单
我跟踪了这个链接Iphone:如果未连接互联网,则将用户带到设置菜单,iphone,objective-c,settings,apple-push-notifications,reachability,Iphone,Objective C,Settings,Apple Push Notifications,Reachability,我跟踪了这个链接 但是,如果用户未连接到internet,有人能帮助我在iOS 5.0和5.0.1中如何将其带到设置菜单吗?您可以使用以下方法: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]]; 但是,在iOS 4.3及更高版本和iOS 5.1及更高版本中,此URL方案与设置应用程序不关联-如果您希望应用程序在AppStore中被接受,则除了要求用户转到设置之外,您没有其他选择。但是,如
但是,如果用户未连接到internet,有人能帮助我在iOS 5.0和5.0.1中如何将其带到设置菜单吗?您可以使用以下方法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
但是,在iOS 4.3及更高版本和iOS 5.1及更高版本中,此URL方案与设置应用程序不关联-如果您希望应用程序在AppStore中被接受,则除了要求用户转到设置之外,您没有其他选择。但是,如果越狱/非AppStore开发是另一种选择,则可以使用专用功能打开应用程序:
SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.preferences"), false);
此功能位于SpringBoardServices专用框架中。如果您的应用程序仅支持iOS 5及以下目标版本,则可以使用以下代码实现此功能
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
请注意,在iOS 5.1中,这是一个diable。我应该在您的appdelegate中创建一个NSTimer循环(例如每30秒一次)。当此方法被触发时(每30秒一次),您将检查当前的internet连接。如果此连接失败,则导航到设置视图控制器,否则不执行任何操作。int result=SBSLaunchApplicationWithIdentifier(CFSTR(“com.apple.preferences”),false);如果(result==1){NSLog(@“%@”,(NSString*)SBSApplicationLaunchingErrorString(result));}这是给定错误“SpringBoard未运行”,应用程序将不会启动。@priyanka这是使用私有API的风险。是的,但我们不想在AppStore上上载此应用程序。你能告诉我如何启动另一份申请表吗?@priyanka我不知道。这次你得做些调查。