2014-02-12 60 views
0

如果没有帐户登录,是否有方法显示类似Twitter SDK提供的警报的警报。无法显示设置警报iOS6 +

我想显示该类型的警报,如果用户已禁用了我的应用程序的设置 - >通知中心。

只是想提出警报,提到Twitter作为参考。它不是关于推特。 enter image description here

注意:我不想显示/使用社交媒体,仅供参考,问题是我们能否显示自定义提醒,可以将用户导航到iOS设置应用。

+1

它是唯一可用的IOS 5,实施社会后框架它不来。如果你想你可以自定义 – codercat

+0

@iDev,谢谢,但正如我提到它只适用于参考。如果用户已禁用了我的应用的设置 - >通知中心,我想要显示该类型的提醒。 – Zubair

回答

1

你可以知道你的应用程序的通知设置,可以显示警报时,它是禁用如下

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
if (!(types & UIRemoteNotificationTypeAlert)) { 
UIAlertView *al = [[UIAlertView alloc] initWithTitle:@"TITLE" message:@"YOUR MESSAGE" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:@"Settings",nil]; 
    [al show]; 
    [al release]; 

} 

更多的参考,你可以检查Determine on iPhone if user has enabled push notifications

+0

然而它并不是“正确的答案”,但它在寻找正确的方法方面帮了很大的忙。 – Zubair

2

无法在通知中心>您的应用程序中了解交换机的状态。您唯一可以访问的是他将获得的通知类型([[UIApplication sharedApplication] enabledRemoteNotificationTypes];)。

0

您可以访问的唯一设置是您应用的设置,可以在您的应用中或设置应用中使用。您的应用设置是您使用[NSUserDefaults standardUserDefaults]设置/获取的设置。但对于您的情况,您可以安排一秒钟后触发的通知,并查看您是否从 - (void)应用程序调用:(UIApplication *)应用程序didReceiveLocalNotification:(UILocalNotification *)通知。这是一个示例代码。

-(void) createLocalNofication{ 
UILocalNotification *local = [[UILocalNotification alloc] init]; 
local.fireDate = [NSDate dateWithTimeIntervalSinceNow:1.0f]; 

local.alertBody = @"Some Alert Body"; 
local.timeZone = [NSTimeZone defaultTimeZone]; 
[[UIApplication sharedApplication] scheduleLocalNotification:local]; 


} 
- (void)application:(UIApplication *)application didReceiveLocalNotification: (UILocalNotification *)notification { 

//Here you can set some flag 
} 

要获得有关该主题的更多见解,可以查看此apple documentation link