【发布时间】:2015-12-26 01:15:19
【问题描述】:
我有一个带有两个目标的 iOS 应用程序:主(应用程序)和今天的扩展小部件。在主要目标中,我有一个名为“TimetablesInformation”的类,如果我从自己的目标中调用该类的方法,一切都会正常进行。但是,如果我尝试从另一个目标(小部件)访问该类:
TimetablesInformation *info = [[TimetablesInformation alloc] init];
[info getTimes:@"1" forLine:lineName];
它因代码错误而崩溃:
2015-12-26 01:48:04.420 Closer Times[15689:307103] __extensionContextClass != nil -
/BuildRoot/Library/Caches/com.apple.xbs/Sources/libextension/libextension
82/libextension/Common/NSExtensionContext.m:164: Unable to find
NSExtensionContextClass (_NCWidgetExtensionContext) in extension bundle -
did you link the framework that declares the extension point?
TimetablesInformation 针对 Xcode 右侧检查器上的两个目标...所以我不知道我做错了什么...请您帮帮我吗?
编辑: getTimes 方法: -(NSArray *)getTimes:(NSString *)actualView forLine:(NSString *)lineName {
if ([actualView isEqual: @(1)]){
if ([lineName isEqual: @"Point A - Point B"]) {
self.workingDayTimesArray = @[@"07:00",@"07:30",@"08:00",@"08:30",@"09:00",@"09:30",@"10:00", @"10:30",@"11:00",@"11:30",@"12:00",@"12:30",@"13:00",@"13:30", @"14:00",@"14:30",@"15:00",@"15:30",@"16:00",@"16:30",@"17:00", @"17:30",@"18:00",@"18:30",@"19:00",@"19:30",@"20:00",@"20:30", @"21:00",@"21:30",@"22:00",@"22:30"];
}
}
我尝试过使用 void 方法,但我遇到了同样的错误。如果我从另一个目标(主应用程序)调用方法,我没有崩溃,但如果我从我的小部件中调用,是的。你知道原因吗?
【问题讨论】:
-
发布 getTimes 方法以及 lineName 是什么。
-
您是否为应用程序和小部件启用了该类的目标成员资格?
-
代码很完美,我刚刚删除了目标,创建了一个新目标,现在它可以工作了... Xcode 之谜...
-
你必须链接 NotificationCenter.framework
-
我也是。我删除了 TodayExtension 并再次添加它,它再次工作......
标签: ios objective-c today-extension