Reputation: 932
I have some issues in Today Extensions on iOS8. I tried debugging using the Xcode Debugger and by putting nslogs. There is no logic in my code as well. For some reason:
Here is my code snippet
@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;
}
Upvotes: 1
Views: 3527
Reputation: 31
Write this
[self setPreferredContentSize:self.tableView.frame.size];
before loading any subview (tableview or label), and I write these in viewDidLoad
. It works for me.
Upvotes: 3
Reputation: 9434
If the widget is not displaying, you can also try rebooting the phone.
Upvotes: 2
Reputation: 3296
Also make sure that the phone is unlocked if you're running it on a device. At least for me running the widget target won't unlock the phone but it works just fine if I do it myself.
Upvotes: 0
Reputation: 1965
To debug the extension, you need to manually attach the widget to the debugger.
From the Xcode menu "Debug" -> "Attach to process" -> "your extension bundle id"
Upvotes: 1