Tag: uiapplicationdelegate

单击iOs和应用程序图标中的PushNotification

我收到PushNotification作为徽章以及警报,并在应用程序图标上显示为徽章。 当我点击在屏幕的顶部区域出现的警报时,我成功地收到有效载荷。 但是,如果收到通知,我点击应用程序图标我没有得到有效载荷在下面的任何提到的方法。 application:didFinishLaunchingWithOptions: application:didReceiveRemoteNotification: 那么,可能是这个问题,或者我在处理这种情况时错过了一些东西。

在后台工作的应用程序只有iPhone

我只要求在后台工作的应用程序。 当第一次应用程序安装在设备上,然后将安装到后台。 两分钟后,屏幕上将popup视图。 现在的问题是,安装后如何将应用程序redirect到后台? 我得到的答案是,如果我们想将我们的应用程序发送到后台,那么我们必须打开另一个应用程序,如safari。 所以我得到这个解决scheme。 现在的问题是如何从背景后两分钟显示一个视图。 我不得不作为应用程序商店的演示创build。 所以如果有人有任何解决scheme,然后build议我。 谢谢

是否需要引用一个单例目标-c对象,以便通过IOS应用程序的生命来保存它?

是否需要引用一个单例目标-c对象,以便通过IOS应用程序的生命来保存它? 例如,如果如果AppDelegate创build/实例化了一个单例对象,但没有保留它,这个实例(带有实例variables数据)是否可以在iPhone应用程序中使用? 换句话说,为了确保单例中的数据保持不变,在最初创build的App Delegate中,App Delegate是否需要将它保留到它的一个实例variables中?

pipe理login/注销转换的build议

我有一个应用程序,只有当用户通过身份validation才能使用。 特别是,我创build了两个不同的UIViewController。 第一个叫做LoginViewController,第二个叫做HomeViewController。 在applicationDidFinishLaunching:方法中,创buildLoginViewController,然后添加到rootViewController属性中,如下所示: LoginViewController* loginCtr = … // alloc and initiWithNibName… self.window.rootViewController = loginCTr; [loginCtr release]; Whitin LoginViewController我创build了一个执行login的方法。 当用户通过身份validation时,我执行一个名为performLogin的方法。 – (void)performLogin { MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; [appDelegate switchView]; } swicthView方法已经在Application委托类中实现了。 – (void)switchView { if(VIEW_TYPE == kLogin) // Display Login { // create a new LoginViewController and assign it to rootViewController } […]

GCD dispatch_after调用引起SIGBUS信号

我正在使用GCD的dispatch_after方法,当我的应用程序被加载执行一些行为。 预期的行为是从applicationDidFinishLaunchingWithOptions结束等待3秒,以执行在后台队列中运行的select器。 我的testing设备上没有遇到任何崩溃,但是我有用户崩溃报告了未捕获的SIGBUS信号,原因是BUS_ADRALNexception。 从我对此代码的理解中,BUS_ADRALN错误表示地址alignment错误。 这是我如何创build我的计时器: double delayInSeconds = 3.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after(popTime, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void){ [self methodToPerformInBackground]; }); 什么可能导致这次崩溃? 因为multithreading错误可能是一种奇怪的东西,所以我会抛出一些我一直在脑海中徘徊的想法。 我打电话给[self performSelectorOnMainThread:withObject:waitUntilDone] 。 在这样的select器中做这个问题有什么问题吗? 由于我打电话dispatch_get_global_queue而不是dispatch_create_queue ,我不需要保留这个方法返回的队列。 这个推理是否正确? 在这个代码中, self是应用程序委托。 在应用程序进入后台或终止之后,是否可能导致崩溃? 应用程序在closures时是否自动清理所有调度的块? 被调用方法内部的东西导致崩溃,但GCD不提供堆栈跟踪。 编辑:我宁愿不包括块中调用的代码,因为我不相信这是主要的问题。 这是堆栈跟踪。 线程0上的崩溃使得仿佛问题出现在GCD中,而不是块中调用的代码。 编辑#2:通过更多的崩溃报告,我有奇怪的消息分享。 此崩溃只出现在运行iOS 4.2.X及更低版本的用户上。 由于iOS 4.0及更高版本支持GCD,因此我的猜测是在4.3中修正了一个bug。 Thread 0 Crashed: 0 libSystem.B.dylib 0x35e5fb10 _dispatch_retain + 0 1 […]

在用户在后台接收到推送信息后手动打开应用程序时,获取推送通知有效内容

我正在使用iOS7,我试图确定是否可以在以下情况下获得JSON负载。 我有背景模式“远程通知”启用 推送通知在应用程序终止时收到 该应用程序是从图标手动启动而不是从通知中心 收到通知后,当我从图标本身启动应用程序时,我无法从启动选项中获得推送 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 并且当从图标手动启动应用程序时,以下方法也不会被调用 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

UIApplicationLaunchOptionsLocalNotificationKey始终为空 – iOS

我有一个使用本地通知的iOS应用程序。 当应用程序在后台运行或处于活动状态时,我使用application didReceiveLocalNotification方法,这很好。 但是,当应用程序closures(不在后台运行)时,我使用application didFinishLaunchingWithOptions方法来控制通知处理时发生的情况。 但是,我didFinishLaunchingWithOptions的问题是didFinishLaunchingWithOptions方法中的通知总是(null) 。 这是我的代码: -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. // Register the app for local notifcations. if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]]; } // Setup the local notification check. UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; //UIAlertView *alertView = […]

为什么不分类UIApplication? 为什么要使用委托?

而不是使用应用程序委托,以便UIApplication单例可以在预定义的时间调用委托方法,只是UIApplication什么优点和缺点? ( 更新:为什么iOS架构使用应用程序委托,而不是让人们通过UIApplication并重写其各种方法来编写应用程序?) 这是因为当我们创build一个新的UIView控件时,我们UIView ( update:或者我们也是UIViewController子类)。 那么为什么在应用的情况下,我们不UIApplication子类,而是使用委托?

睡眠模式与通知中心打开

在两个,1)iPhone进入睡眠模式2)打开通知中心 它叫 – (void)applicationWillResignActive:(UIApplication *)application 有没有什么方法可以确定是因为设备进入睡眠模式还是通过打开通知中心来调用此方法?

在applicationWillEnterForeground之前更改视图

我想在后台一段时间后locking用户。 我正在AppDelegate的applicationWillEnterForeground捕捉这个(并比较存储在applicationWillResignActive时间)。 如果小于超时时间,则不执行任何操作。 如果超过超时时间,我会致电: [_navigationController popToRootViewControllerAnimated:NO]; 这使用户回到根视图。 一个视觉中断,它工作得很好。 之前的视图(用户在应用程序不活动时查看的内容)在popup到根目录之前显示得非常简短。 在testing中,似乎该视图会在调用applicationWillEnterForeground之前重新出现。 我唯一的想法就是在不活动的时候隐藏所有的东西,比如用填充的矩形模糊视图。 这听起来像一个肮脏的黑客,所以我觉得有一个更好的办法。 我也打开不同的方式来达到同样的最终结果。 谢谢!