标签: ios-app-extension

从扩展程序中获取主应用程序包

是否可以NSBundle从应用扩展程序中获取包含应用程序?我想获取主应用程序的显示名称,而不是扩展程序的显示名称.

nsbundle ios swift ios-app-extension

23
推荐指数
2
解决办法
6462
查看次数

iOS 8今天的小部件在一段时间后停止工作

我为德国冰球联盟DEL做了一个今天的小部件.

我正在从我们的服务器加载下一个游戏,在tableView中显示它们.加载过程在建议的方法"widgetPerformUpdateWithCompletionHandler"中启动.最初我在"viewWillAppear"中加载了一些缓存数据.

到目前为止,一切都很好!

工作小部件的屏幕截图.

但过了一会儿(一天),小部件停止工作.当我打开通知中心时,窗口小部件显示正常,但它永远不会再次更新.我必须从通知中心删除小部件,并且必须再次添加它.之后,小部件可以工作一天,然后再次停止工作.

要查看窗口小部件正在做什么,我在表单视图上方添加了一个简单的白色视图,同时在"widgetPerformUpdateWithCompletionHandler"中加载数据以查看窗口小部件是否正在执行任何操作.小部件工作时会显示白色视图.当它不工作时,状态视图不会出现.所以我认为在窗口小部件在通知中心活动一段时间后,不会调用方法"widgetPerformUpdateWithCompletionHandler".

我不知道是什么导致小部件停止工作.有任何想法吗?

widget ios8 ios-app-extension

22
推荐指数
2
解决办法
6088
查看次数

分享按钮菜单消失后,iOS动作扩展的图标消失

我已经在一段时间内处理了几个iOS动作扩展,但我注意到一个奇怪的行为,我想知道是否有其他人看到过.简而言之,从共享按钮菜单安装并打开扩展程序并离开菜单后,它将从菜单中消失.

更具体地说,当您首次安装扩展程序时,您希望必须按下共享按钮,向下滚动底部栏菜单(用于操作扩展名),按"更多"按钮,切换您的扩展程序和然后按完了.此时,将显示扩展程序的图标,您可以使用它.但是,下次要使用操作扩展时,图标将不会出现,您必须重复此过程,即使您在"更多"菜单中查看,您的应用的切换开关也已打开.

我希望我可以在这里添加图片以进一步详细说明,但我不能因为StackOverflow的规则.

我无法在任何地方找到任何关于此的信息,所以我希望有人在这里注意到这种行为.任何有关解决此问题的帮助将不胜感激.

ios ios-app-extension

21
推荐指数
1
解决办法
940
查看次数

iOS 10 iMessage应用扩展程序:如何计算超高导航栏的高度

我下载了Xcode 8测试版并尝试使用iMessages应用程序扩展程序sdk,但遇到了他们看似非标准导航栏高度的问题

当我转换到应用程序的展开视图时,带有以下框架的图像CGRect(x: 0, y: 0, width: 100, height: 100)最终部分隐藏在导航栏后面.我希望它出现在导航栏下方.

我试过self.navigationController?.navigationBar.isTranslucent = false但它不起作用,我认为这是有道理的,因为它超出了我的应用程序的控制范围.

还有人玩过这个吗?我想避免两件事.简单地猜测适当的高度并远离程序化解决方案. 紧凑 扩大 谢谢您的帮助

navbar imessage swift ios-app-extension ios10

21
推荐指数
1
解决办法
5789
查看次数

iOS 8 Beta Today扩展小部件未在Swift应用中显示?

今天的扩展程序没有出现在Swift应用程序中,但它在Objective C应用程序中出现.

我所做的是在故事板上为快速和客观的c应用添加一些带有一些内容的UILabel.

它出现在我运行Objective C应用程序时,但不是在我执行Swift应用程序时.

我在这里错过了什么吗?

swift ios8 ios-app-extension

19
推荐指数
1
解决办法
6662
查看次数

自定义键盘:集线器连接错误

最近我在使用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和我的计算机.

我希望你能给我任何建议,甚至可能知道修复!

uikeyboard ios ios8 ios-app-extension

19
推荐指数
1
解决办法
3766
查看次数

卸载应用程序不会删除应用程序组数据.我是否必须手动删除应用程序组容器及其内容?

我创建了Today Extension第一次在iOS 8中引入的.为了在Today extension它之间共享数据container App,我定义了一个app group,并将它们绑定到这个组.(实际上我还添加了一个嵌入式框架来重用两边的代码.)

Apple的文档中描述了此方法的详细信息.

我创建了一些核心数据模型并将其作为sqlite存储在组容器中.然后一切都按照我的想法运作.

但是,当我卸载容器应用程序时,我的iPhone上仍然有共享容器及其内容.我想当卸载应用程序组的最后一个成员时,必须自动删除此容器.在我的情况下,应用程序组的成员只附带一个应用程序,因此,卸载此应用程序应该必须清除共享容器.

我错了吗?

PS.我找不到以用户身份删除此共享容器的方法.只有拥有访问app-group权限的开发人员才能通过编程删除此容器.

ios ios8 ios-app-extension ios-app-group

18
推荐指数
1
解决办法
3160
查看次数

编写没有故事板的iOS 8共享扩展

有没有人知道编写iOS 8共享扩展的好方法而没有MainInterface.storyboard模板附带的扩展?

当我删除文件或删除NSExtensionMainStoryboardInfo.plist,扩展停止工作(没有当你在共享窗格中的按钮,点击会发生).我们试图取代NSExtensionMainStoryboardNSExtensionPrincipalClass这也没有工作.

有任何想法吗?

iphone ios swift ios8 ios-app-extension

18
推荐指数
4
解决办法
5953
查看次数

使用自定义布局进行共享扩展

我想用自定义标注开发ios共享扩展.在苹果文件中

要提供自定义撰写视图而不是标准视图,请在Xcode目标添加窗格中取消选择"使用标准社交撰写界面".取消选中此复选框后,默认的SharingViewController类基于NSViewController或UIViewController,具体取决于您选择的平台.

但我找不到复选框.任何人都可以告诉我如何禁用它,是否有任何良好的分享扩展教程.

谢谢

ios xcode6 ios8 ios-app-extension

18
推荐指数
1
解决办法
7926
查看次数

为什么我的WatchKit扩展程序中的应用程序组不起作用?

我已经看过关于在主机应用和应用扩展之间共享NSUserDefaults数据的所有其他帖子,但我仍然无法工作.以下是我所做的一切:

  1. 在Xcode的"功能"选项卡上为扩展和主机应用启用应用组.
  2. 将组名设置为"group.com.mycompany.foo",并确认扩展名和主机应用程序已添加到组中.
  3. 已确认两者都存在权利文件,并且"com.apple.security.application-groups"键设置为我的应用程序组名称.(对于它的价值,我也使用扩展和主机应用程序之间的共享钥匙串功能,这是有效的 - 所以我不认为这是权利问题)
  4. 重新生成所有配置文件.事实上,我甚至撤销了所有证书,并在设置应用程序组后重新生成了所有配置文件.

毕竟,这段代码仍然不起作用:

// 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"图标: Xcode首选项 - 权利

但正如我之前所说,我在设置应用程序组后清除了我的钥匙串,证书和配置文件.因此,如果这实际上是问题,我如何将权利添加到配置文件?

我错过了什么?我是新鲜的想法.

救命?

编辑:访问组正在我的今日和Safari扩展中工作,而不是在WatchKit扩展中.我不知道为什么,并且所有构建设置似乎都以相同的方式配置.

编辑2:对于那些坚持我的功能设置不正确的人,这里有一个截图:功能

nsuserdefaults ios ios-app-extension ios-app-group watchkit

18
推荐指数
1
解决办法
6197
查看次数