当前位置:  开发笔记 > IOS > 正文

从其他目标访问今日扩展的方法?

如何解决《从其他目标访问今日扩展的方法?》经验,为你挑选了1个好方法。

我有一个带有两个目标的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?

时间表信息针对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方法,但是我有同样的错误.如果我从另一个目标(主应用程序)调用一个方法,我没有崩溃,但如果我从我的小部件做,是的,我做.你知道原因吗?



1> 小智..:

这意味着您或某人意外地从您正在运行的目标中删除了一个框架或库.

在我的情况下,当有人从"常规"选项卡中的"链接框架和库"或"构建阶段"选项卡中的"链接二进制文件库"中删除NotificationCenter.framework时,我收到此崩溃错误.因此,要修复它,您只需要再次添加它,一切都会工作.

因此,当您重新创建TodayExtension目标时,它默认链接NotificationCenter.framework.这就是为什么在此之后一切都适合你的原因.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有