1

我正在尝试使用 MSBand 文档中的代码添加磁贴。

编辑:我从来没有从这 2 行得到日志输出:
NSLog(@"adding tile...");
if(error)NSLog(@"将平铺添加到带区时出错:%@", error);
,我觉得很奇怪

 NSError *error;
MSBIcon *smallIcon = [MSBIcon iconWithUIImage:[UIImage imageNamed:@"MSB_white_x"] error:&error];
if(error)NSLog(@"small icon error: %@", error);

MSBIcon *tilecon = [MSBIcon iconWithUIImage:[UIImage imageNamed:@"MSB_white_xx"] error:&error];
if(error)NSLog(@"big icon error: %@", error);

NSUUID *tileID = [NSUUID UUID];
MSBTile *tile = [MSBTile tileWithId:tileID name:@"Something" tileIcon:tilecon smallIcon:smallIcon error:&error];
if(error)NSLog(@"tile creation error: %@", error);
[self.sensor.client.tileManager addTile:tile completionHandler:^(NSError *error) {
    NSLog(@"adding tile...");
    if(error)NSLog(@"error adding tile to band: %@", error);
}];

但是当我尝试运行该应用程序时,我收到以下警告:

警告:尝试在 PersonalStatisticsViewController: 0x14f5116b0 上显示 MSBAddTileDialogViewController_iOS: 0x14f534e20,其视图不在窗口层次结构中!

我注意到“视图控制器”始终是根视图控制器。因此,当我第一次从 root 之外的另一个视图控制器中收到警告时,我尝试将 root 更改为我当前所在的任何 VC。我从 -()viewDidAppear 运行代码我真的不明白为什么会收到此警告,主要是因为我认为创建磁贴没有理由尝试向应用程序 VC 添加任何内容(它应该只是将磁贴添加到 MSBAND)。

有人知道发生了什么吗?提前致谢。

4

1 回答 1

0

您从哪里拨打 addTile 电话?

如果您从 viewDidLoad 中调用,那么您将看到此问题。您应该将 addTile 调用移至 viewDidAppear。

参考这个 StackOverflow 问题:谁的视图不在窗口层次结构中

于 2015-05-04T21:32:23.573 回答