问题标签 [today-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

ios8 - 将 UIEvent 挂钩到自定义 Today Extension 中

我正在编写一个 iOS Today Extension,UITableView里面有一个。我的想法是在加载扩展时从文件中加载存档数据,在 UI 上显示数据,并在widgetPerformUpdateWithCompletionHandler.

获取远程内容后,将保存在本地存档文件中,并调用reloadData. 也回应UITableView。当用户点击其中一行时,它将启动 Safari。UITableViewtableView:didSelectRowAtIndexPath

但我注意到,当加载扩展时,系统将使用以前的快照而不是显示我的 UI。很好,我知道这是出于性能原因。但是快照不能像这样处理任何 UI 事件UITableView,这意味着用户在看到扩展程序后会有延迟,直到他们可以点击每一行。

有谁知道如何减少快照可见的时间?widgetPerformUpdateWithCompletionHandler加载扩展时,似乎 Today 没有调用for 扩展。

这是我正在使用的示例代码:

0 投票
1 回答
1185 浏览

uitableview - tableView:cellForRowAtIndexPath: 在 iOS Today Widget 中调用一次 UITableViewController

我正在尝试在 UIViewController 子类的 Today Widget 扩展中显示数据。项目(行)的数量始终为3,但tableView:cellForRowAtIndexPath:仅调用一次。

我已经仔细检查了所有内容,但找不到错误。

有什么建议么?谢谢!

0 投票
1 回答
346 浏览

ios - Todayview openurl - 多次调用 didFinishLaunchingWithOptions

我目前正在玩 ios8 todayview 扩展。我打电话[self.extensionContext openURL:url completionHandler:nil];打开包含扩展的应用程序。

在某些情况下:大约 10 次启动中的 1 次(应用程序关闭) -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions被多次调用。

我尝试使用 bool 值BOOL appStarted将其设置YESdidFinishLaunchingWithOptions. 并在开头添加了一个alertview didFinishLaunchingWithOptions- 但似乎该函数被多次调用并且布尔值始终为NO

任何想法?

问候

0 投票
1 回答
4495 浏览

ios - Today Extensions 的“等待附加”问题

我有一个严重的问题,无法弄清楚问题出在哪里!首先,这个问题已经在其他两个线程中得到了回答: iOS 8 beta 5 Today view extension (widget) 卡在 Waiting to Attach

但是,我的问题不同:我有 10 个小部件,它们都工作正常。我可以在我的设备和模拟器上毫无问题地调试它们。但是从第十一开始,当我尝试在我的设备上调试它们时(在模拟器上它工作正常),我今天的扩展卡在“等待附加”上。我试图清理项目,删除目标(代表 de 小部件),重新启动计算机和设备,但墙仍然在这里......即使是默认的今日扩展“Hello word”也卡住了。

因此,如果有人有想法,那就太好了,因为这个问题正在毁掉我的一天,grrr。谢谢

0 投票
1 回答
1380 浏览

ios - 由于内存错误,具有自定义字体的 iOS Today Widget 已终止

今天小部件

我们有一个使用自定义字体的 iOS 8+ 应用程序。TTF 文件与应用程序捆绑在一起。

我们现在正在制作一个 Today 小部件(扩展),它需要使用相同的自定义字体才能正确显示内容。

TTF 文件本身为 142 KB。

使用我的测试数据,使用自定义字体只会绘制 3-4 个字符。

症状

问题是使用这种字体会使小部件使用太多内存,并且小部件会收到一些 didReceiveMemoryWarning 调用,然后被终止。

如果我们使用“HelveticaNeue”字体,一切运行正常,但有问题的字符是根据 HelveticaNeue 而不是自定义字体显示的原因。

在 iOS 模拟器中一切运行良好,但 Stackoverflow 的几个问题/答案让我相信这是很正常的,iOS 内存保护机制只会在设备上启动。

在 iPhone 6 上,该小部件被杀死,内存使用量约为 20 MB,因此我们在这里不多讨论。在 iPhone 4S 上,这个限制似乎更低。

问题

所以问题是是否有解决方法。或者可以调整或查看自定义字体的某些属性。

让主应用程序以某种方式将字体预渲染为磁盘上可以由小部件加载的某些内容(png 文件?)是否有意义?如何做到这一点?

对方法或要研究的东西有什么建议吗?

0 投票
1 回答
589 浏览

ios - 今天小部件高度问题

我正在开发一个 iOS Today 小部件,它使用 UITableView 显示动态内容。在某些情况下,小部件的内容超过了通知中心的高度,但使用时:

操作系统将小部件高度限制为恰好是通知中心可见的 UI 高度。

根据 Apple 文档,当小部件的高度超过通知中心的高度时,这不是一个好的体验,但没有记录限制:

避免让用户滚动或垂直移动视图以查看“今日”小部件中的所有信息。一个小部件可以垂直展开以显示更多信息,但当一个小部件的高度超过通知中心的高度时,它不是一个很好的体验,因为它会干扰滚动查看其他今日小部件。

我玩过苹果(内置)股票应用程序并添加了 20 多只股票。当我打开股票小部件时,首先它显示了几只带有“查看全部”按钮的股票。当我按下按钮时,我能够看到所有股票列表,尽管小部件的内容超过了通知中心的高度。(我需要滚动才能查看所有列表)。

有谁知道如何获得上述体验广告?

0 投票
1 回答
2454 浏览

ios - iOS Today Extension 中奇怪的 NSInternalInconsistencyException 和 PKService 崩溃

我在我的 iOS Today Extension 上安装了 Crashlytics,我遇到了这个奇怪的崩溃。有谁知道为什么会发生这种情况?

致命异常:NSInternalInconsistencyException 删除非活动插件 com.somecompany.someapp.TodayExtension(1.0)>

它崩溃的线路是

11 PlugInKit-[PKService unregisterPersonality:] + 188

在我今天的扩展中,在 viewDidLoad 中,它将获取用户的当前位置,然后发出网络请求以获取有关该位置的数据。发生这种情况是因为我的操作花费了太长时间并且 iOS 正在杀死我的扩展程序吗?我无法重现这一点,但我认为用户看到的是扩展名应该在的空白区域,或者除了扩展名的标题之外什么都不显示。

我的主线程(虽然没有在这里崩溃):

0 投票
2 回答
1203 浏览

ios - iOS - SharedApplication 在 Today Extension 中不可用?

我正在创建一个 Today 扩展。我已经添加了所有必要的文件并得到了一堆关于

  • openUrl 不可用
  • sharedApplication 不可用
  • UIAlertView 上的初始化不可用

具有这些依赖关系的文件深入我的应用程序(我的网络层上的错误处理程序等),我知道它们不会在 Today Extension 中使用,但为了完全摆脱这些文件中的依赖关系,我需要重构整个应用程序。有没有解决的办法?

我的代码是 Swift,所以我也不能使用编译器宏来避免执行这些代码行。

#if !TARGET_IS_TODAY_EXTENSION #endif

0 投票
0 回答
840 浏览

ios - How to set today-extension height using UITableViewController?

I am fighting with my widget height for about a week and I still cannot get it working. I use a tableView as a primary view of the extension with autolayout.

The app shows current balance of a cellphone. And depending on a plan, I load different custom views.

When the extension is loaded it seems to work fine (https://www.dropbox.com/s/zkoddb7o3zlvdl8/widget-normal.png?dl=0) but when I hit a reload button, the height of the widget gets squeezed (https://www.dropbox.com/s/u2gruah8268162d/widget-squeezed.png?dl=0)

Here is my code:

And the log:

UPDATE 28/03/2015 at 10:42 Updated updateView method:

Log when the height is correct:

Log when the extension was squeezed:

0 投票
0 回答
566 浏览

ios - 今日扩展:无法重新加载 tableView

我创建了一个今天的扩展/小部件。我实现了一个表格视图。如果小部件运行并进入我编写这行代码的 viewDidLoad 函数:tableView.reloaData()tableView 不会重新加载并且下一行代码运行。我的viewDidLoad:

有人知道为什么 tableView 不重新加载吗?