我正在尝试建立共享扩展。创建目标,修复项目设置(配置文件,应用程序组,NSExtension)。
试图运行并查看我添加到三种方法isContentValid
,didSelectPost
和configurationItems
的日志。这是我第一次创建共享扩展,因此,我只是环顾四周,看看何时调用每种方法。
现在由于某种原因(我不知道自己做错了什么),我无法看到扩展中的日志。当我按Xcode中的运行按钮时,消息Finished running ...
会显示在顶部的状态栏中。
试图将方案设置更改为可执行文件字段中的扩展名,尝试运行时收到以下消息:
Could not locate installed application
Install claimed to have succeeded, but application could not be found on device. bundleId = <my-bundle-id-value>
遵循我在互联网上可以找到的所有解决方案。尝试了here和here的解决方案。
更新
我想检查扩展程序是否真正运行,或者只是日志不起作用。因此,我向isContentValid
添加了以下逻辑:
- (BOOL)isContentValid {
// Do validation of contentText and/or NSExtensionContext attachments here
NSLog(@"isContentValid");
NSUserDefaults * userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"<group-id>"];
[userDefaults setObject:@"haha" forKey:@"key"];
[userDefaults synchronize];
return YES;
}
,然后在有效的主应用程序中阅读haha
!因此,问题是:为什么我不能调试应用程序?应用程序为什么不打印日志语句。在没有日志和/或调试的情况下进行开发可能要花费两倍甚至更多的时间。
更新2
我能想到的最好的方法是将调试器手动附加到扩展程序,在此处和此处添加断点(我想在其中放置日志),并编辑断点以将其记录为操作并在评估后继续。