Xcode 6.1:对未被渲染的视图进行快照捕获

7

我正在使用Storyboard来创建我的示例项目。该项目的架构是登录视图控制器和主页视图控制器。用户在主页视图控制器中点击按钮以启动本地通知。

-(IBAction)startLocalNotification {  // Bind this method to UIButton action
    NSLog(@"startLocalNotification");

    UILocalNotification *notification = [[UILocalNotification alloc] init];
    notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:7];
    notification.alertBody = @"This is local notification!";
    notification.timeZone = [NSTimeZone defaultTimeZone];
    notification.soundName = UILocalNotificationDefaultSoundName;
    notification.applicationIconBadgeNumber = 10;

    [[UIApplication sharedApplication] scheduleLocalNotification:notification];
}

这段代码需要放在AppDelegate文件中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){

        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
    }

    [launchOptions valueForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    // Override point for customization after application launch.

    return YES;
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
 [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
     NSLog(@"didReceiveLocalNotification");
}

现在在将应用推向后台状态后,我在控制台中收到以下信息,但本地通知按预期正常工作。
“快照一个尚未呈现的视图会导致一个空的快照。确保您的视图至少呈现一次后再进行快照或在屏幕更新后进行快照。”
这个消息是什么意思?它与什么相关?

1
认为这可能与进入后台时形成的屏幕截图有关。不幸的是,我不知道这是否是一个严重的问题,还是一些可以选择忽略的信息。如果您有任何进展或任何信息,我很感兴趣知道是否需要担心它。 - button
你解决了这个问题吗? - FedeH
1个回答

3
我相信我可以提供一个“答案”……即可能是iOS(8.1.3 / 8.2)存在问题,而不是其他任何问题。据我所知,这并不影响使用。
我进行了一些测试,发现这个问题与UITextField / Keyboard有关。
在单个视图应用程序中只使用一个文本字段,请按以下步骤操作(仅在iPad上尝试):
  1. 构建和运行
  2. 将焦点放在文本字段中
  3. 关闭键盘(它应该已经打开了)
  4. 点击主屏幕按钮(应用进入后台)
  5. 返回到应用程序
  6. 点击主屏幕按钮(应用进入后台)
  7. 观察日志输出。
这是一个示例项目:https://github.com/duttski/TestForStrangeSnapshotMessage
这已被报告为错误,并正在尝试通过dev论坛获得一些信息。 更新:我认为这可能已在较新版本中修复。但我没有测试过。在dev论坛上交流后,有人告诉我这不是什么需要担心的事情。

您的看法可能与确切的问题无关。 - Jayprakash Dubey
你能澄清一下问题吗?-- 你问这条消息的意思是什么,但又说一切都正常。总之,以上的结论是,它可能与你的项目没有任何关系。这可能是错误的,但上面的演示应用程序至少表明,即使在最基本的情况下,我们也可以接收到该消息。 - button
@button,我也遇到了同样的问题(iOS 9.3,Swift 2.0)。我在其他相似的SO帖子中发现他们讨论的是ImagePickerController,而我并没有使用这个。我花了将近两天的时间才得出和你在这里提到的同样步骤。如果他们回复你的错误报告或者你有更多关于这个问题的信息,请在这里更新一下。 - programmist
@mpathi在2015年3月的最后一条消息中要求我测试8.3 beta版本。很抱歉,我目前没有从事iOS项目,无法验证是否存在相同的问题。没有任何迹象表明有任何变化。似乎上面的存储库已经消失了,但如果有帮助的话,我可能可以再次找到它(只是一个视图上的文本字段,据我所记得!)。 - button
我也有相同的奇怪警告信息,尽管我没有使用相机或ImagePickerController。我可以在方向更改(横向<->纵向)后看到此警告消息。我使用最新版本:Xcode 8.3与Swift 3在iOS 10.3上。似乎这个问题还没有解决。 - cylov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接