2014-02-12 58 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