今天扩展不工作

时间:2014-06-19 04:27:22

标签: ios8 ios-app-extension

我在iOS8上的Today Extensions中遇到了一些问题。我尝试使用Xcode调试器和调用nslogs进行调试。我的代码中也没有逻辑。出于某种原因:

  1. 小部件不显示任何数据(仅适用于Hello World标签)
  2. 调试不起作用,它没有达到任何断点。是否有任何特定的方法来调试扩展?
  3. 这是我的代码段

    @implementation TodayViewController{
        NSArray *localList;
    }
    
    -(void)awakeFromNib{
        [super awakeFromNib];
    
        [self loadList];
    
        [self setPreferredContentSize:self.tableView.frame.size];
    
        NSLog(@"inside awake from nib");
    }
    
    - (void)viewDidLoad
    {
       [super viewDidLoad];
       // Do any additional setup after loading the view.
       NSLog(@"inside view did load");
    }
    
    -(void)loadList{
        NSMutableArray *mutableArray = [[NSMutableArray alloc]initWithCapacity:5];
        [mutableArray addObject:@"asdjasdj"];
        [mutableArray addObject:@"qowiepqiw"];
        [mutableArray addObject:@"qoqwoei"];
        [mutableArray addObject:@"pqoiweoqi"];
        [mutableArray addObject:@"lkdsflk"];
        [mutableArray addObject:@"kdjlkaj"];
    
        localList = [mutableArray copy];
    }
    
    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
        return 1;
    }
    
    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
       return [localList count];
    } 
    
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath   *)indexPath{
    
        UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"WidgetCell"];
    
        UILabel *label = [[UILabel alloc]init];
        [label setText:[localList objectAtIndex:indexPath.row ]];
        [[cell contentView]addSubview:label];
    
        return cell; 
    }
    

4 个答案:

答案 0 :(得分:3)

写这个

[self setPreferredContentSize:self.tableView.frame.size];

在加载任何子视图( tableview 标签)之前,我将其写在viewDidLoad中。它对我有用。

答案 1 :(得分:2)

要调试扩展,您需要手动将小部件附加到调试器。

从Xcode菜单" Debug" - > "附加到流程" - > "您的扩展程序包ID"

答案 2 :(得分:2)

如果小部件未显示,您也可以尝试重新启动手机。

答案 3 :(得分:0)

如果您在设备上运行手机,请确保手机已解锁。至少对我来说,运行小部件目标不会解锁手机,但如果我自己动手,它就可以正常工作。