是否可以NSBundle从应用扩展程序中获取包含应用程序?我想获取主应用程序的显示名称,而不是扩展程序的显示名称.
我为德国冰球联盟DEL做了一个今天的小部件.
我正在从我们的服务器加载下一个游戏,在tableView中显示它们.加载过程在建议的方法"widgetPerformUpdateWithCompletionHandler"中启动.最初我在"viewWillAppear"中加载了一些缓存数据.
到目前为止,一切都很好!

但过了一会儿(一天),小部件停止工作.当我打开通知中心时,窗口小部件显示正常,但它永远不会再次更新.我必须从通知中心删除小部件,并且必须再次添加它.之后,小部件可以工作一天,然后再次停止工作.
要查看窗口小部件正在做什么,我在表单视图上方添加了一个简单的白色视图,同时在"widgetPerformUpdateWithCompletionHandler"中加载数据以查看窗口小部件是否正在执行任何操作.小部件工作时会显示白色视图.当它不工作时,状态视图不会出现.所以我认为在窗口小部件在通知中心活动一段时间后,不会调用方法"widgetPerformUpdateWithCompletionHandler".
我不知道是什么导致小部件停止工作.有任何想法吗?
我已经在一段时间内处理了几个iOS动作扩展,但我注意到一个奇怪的行为,我想知道是否有其他人看到过.简而言之,从共享按钮菜单安装并打开扩展程序并离开菜单后,它将从菜单中消失.
更具体地说,当您首次安装扩展程序时,您希望必须按下共享按钮,向下滚动底部栏菜单(用于操作扩展名),按"更多"按钮,切换您的扩展程序和然后按完了.此时,将显示扩展程序的图标,您可以使用它.但是,下次要使用操作扩展时,图标将不会出现,您必须重复此过程,即使您在"更多"菜单中查看,您的应用的切换开关也已打开.
我希望我可以在这里添加图片以进一步详细说明,但我不能因为StackOverflow的规则.
我无法在任何地方找到任何关于此的信息,所以我希望有人在这里注意到这种行为.任何有关解决此问题的帮助将不胜感激.
我下载了Xcode 8测试版并尝试使用iMessages应用程序扩展程序sdk,但遇到了他们看似非标准导航栏高度的问题
当我转换到应用程序的展开视图时,带有以下框架的图像CGRect(x: 0, y: 0, width: 100, height: 100)最终部分隐藏在导航栏后面.我希望它出现在导航栏下方.
我试过self.navigationController?.navigationBar.isTranslucent = false但它不起作用,我认为这是有道理的,因为它超出了我的应用程序的控制范围.
今天的扩展程序没有出现在Swift应用程序中,但它在Objective C应用程序中出现.
我所做的是在故事板上为快速和客观的c应用添加一些带有一些内容的UILabel.
它出现在我运行Objective C应用程序时,但不是在我执行Swift应用程序时.
我在这里错过了什么吗?
最近我在使用Swift(Xcode beta 6)在iOS 8 Beta中使用自定义键盘扩展,但是当我在模拟器上运行它时,我一直收到这个错误,它似乎很随机,我不知道是什么原因造成的它:
插件com.name.app.extensionName被中断
集线器连接错误错误域= NSCocoaErrorDomain代码= 4097"操作无法完成.(Cocoa错误4097.)"(连接到名为com.name.app.extensionName的服务)UserInfo = 0x7b087720 {NSDebugDescription =连接到服务名为com .name.app.extensionName}
我不知道该怎么做.我目前无法在真实设备上测试应用程序,因此我被困在这里.它发生在所有类型的模拟器上,我已经重置它们并重新启动Xcode和我的计算机.
我希望你能给我任何建议,甚至可能知道修复!
我创建了Today Extension第一次在iOS 8中引入的.为了在Today extension它之间共享数据container App,我定义了一个app group,并将它们绑定到这个组.(实际上我还添加了一个嵌入式框架来重用两边的代码.)
Apple的文档中描述了此方法的详细信息.
我创建了一些核心数据模型并将其作为sqlite存储在组容器中.然后一切都按照我的想法运作.
但是,当我卸载容器应用程序时,我的iPhone上仍然有共享容器及其内容.我想当卸载应用程序组的最后一个成员时,必须自动删除此容器.在我的情况下,应用程序组的成员只附带一个应用程序,因此,卸载此应用程序应该必须清除共享容器.
我错了吗?
PS.我找不到以用户身份删除此共享容器的方法.只有拥有访问app-group权限的开发人员才能通过编程删除此容器.
有没有人知道编写iOS 8共享扩展的好方法而没有MainInterface.storyboard模板附带的扩展?
当我删除文件或删除NSExtensionMainStoryboard从Info.plist,扩展停止工作(没有当你在共享窗格中的按钮,点击会发生).我们试图取代NSExtensionMainStoryboard与NSExtensionPrincipalClass这也没有工作.
有任何想法吗?
我想用自定义标注开发ios共享扩展.在苹果文件中
要提供自定义撰写视图而不是标准视图,请在Xcode目标添加窗格中取消选择"使用标准社交撰写界面".取消选中此复选框后,默认的SharingViewController类基于NSViewController或UIViewController,具体取决于您选择的平台.
但我找不到复选框.任何人都可以告诉我如何禁用它,是否有任何良好的分享扩展教程.
谢谢
我已经看过关于在主机应用和应用扩展之间共享NSUserDefaults数据的所有其他帖子,但我仍然无法工作.以下是我所做的一切:
毕竟,这段代码仍然不起作用:
// in the host app
NSUserDefaults *testDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.mycompany.foo"];
[testDefaults setObject:@"TEST" forKey:@"foo"];
[testDefaults synchronize];
Run Code Online (Sandbox Code Playgroud)
然后:
// in the extension
NSUserDefaults *testDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.mycompany.foo"];
NSLog(@"%@", [testDefaults objectForKey:@"foo"]);
Run Code Online (Sandbox Code Playgroud)
这导致:
(null)
Run Code Online (Sandbox Code Playgroud)
当我查看Xcode首选项时,我注意到这些图标,其中没有一个具有"App Group"图标:

但正如我之前所说,我在设置应用程序组后清除了我的钥匙串,证书和配置文件.因此,如果这实际上是问题,我如何将权利添加到配置文件?
我错过了什么?我是新鲜的想法.
救命?
编辑:访问组正在我的今日和Safari扩展中工作,而不是在WatchKit扩展中.我不知道为什么,并且所有构建设置似乎都以相同的方式配置.
编辑2:对于那些坚持我的功能设置不正确的人,这里有一个截图: