问题标签 [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 投票
2 回答
257 浏览

swift - locationManager:didUpdateLocations: 方法是否在扩展及其包含的应用程序中同时调用

这是场景,我在我的应用程序中添加了今天的扩展目标。在我的小部件 ViewController 中,它通过核心位置框架监听位置变化。此外,在我的包含应用程序中有位置变化监听器。我知道有一个回调来获取最新位置。

但是,我想知道的是,当我的包含应用程序和小部件都在运行时(听起来很奇怪,假设包含应用程序在后台运行),并且它们都在使用 CLLocationManager 监听位置更改,是否调用了 locationManager:didUpdateLocations: 方法同时获得相同的位置数据或其他东西?(我知道小部件和应用程序提前在单独的进程中运行)提前谢谢。:-]

0 投票
1 回答
334 浏览

ios - 在哪里只更新一次通知小部件的 UI

在我的今日通知中心扩展/小部件中,每次激活通知中心时,我都需要更新部分 UI。在使用通知中心时,它永远不需要更新,也不需要在后台更新。我应该以什么方法放置该代码?

viewDidLoad并且viewWillAppear在每次显示时都会被调用,例如,如果您向上和向下滚动它们将再次被调用,所以这太频繁了。

widgetPerformUpdateWithCompletionHandler在第一次显示之前根本不会调用它(至少在 iOS 8.2 测试版中),并且只要 iOS 感觉更新 UI 时,就会自动调用此方法,即使它在后台也不合适。

loadView仅被调用一次,除非从内存中删除小部件,否则永远不会再次调用。因此,如果您打开通知中心并查看小部件,然后关闭通知中心并稍后重新打开它,它可能不会再次调用该方法,具体取决于它是否已从内存中清除。

0 投票
1 回答
159 浏览

ios - iOS Today Extension:可以在我的应用程序中动态启用和禁用吗?

默认情况下,安装应用程序后,我的应用程序的扩展程序列表中就会出现今天的扩展程序。

我想知道的是 - 有没有一种方法,记录或未记录,可以动态启用或禁用扩展?通过禁用,我的意思是如果用户尝试添加它,它甚至不会出现在扩展列表中。

如有必要,Hacky 的答案是可以的,我真的很希望能够做到这一点。

0 投票
2 回答
1161 浏览

ios - iOS Today Extension MapView 仅适用于 Xcode 模拟器

我已经为我的应用程序实现了一个 Today 小部件。

mkmapView 在两种情况下都能正常工作:1. Xcode 模拟器 2. 使用 Xcode 运行的设备

但是当我通过设备本身运行小部件时,mapView 仅显示背景颜色和用户的位置标记。

有人知道为什么吗?如何解决?

谢谢!

0 投票
2 回答
819 浏览

ios - 今日视图扩展上未显示图像视图

我正在尝试在今天的视图扩展中显示图像视图,但它没有出现。任何想法我做错了什么? 在此处输入图像描述 在此处输入图像描述

0 投票
3 回答
2292 浏览

ios - 从通知小部件查明设备是否已锁定

我想知道当我加载我的通知/今天小部件时设备是否被锁定,所以我可以适当地显示小部件。(这是财务问题,我们不想在锁定的手机上显示余额)

在带有 TouchID 的设备上,我可以尝试访问钥匙串,如果我得到

errSecInteractionNotAllowed

回来,它被锁定了。都好。这不适用于没有 touchID(但有 PIN)的设备。我发现了一些东西,建议使用

[[UIApplication sharedApplication] protectedDataAvailable]

但是我没有[UIApplication sharedApplication]小部件。

任何想法在哪里以及如何做到这一点?我只需要一个是/否:设备是否被锁定。

谢谢

[更新:这是我的代码]

获取文件名:

编写/创建文件(在应用程序中,而不是扩展名:

阅读:

它始终能够读取文件,即使在屏幕锁定的 TouchID 设备上也是如此。如果我查看属性,它显示 NSFileProtectionKey 设置为 NSFileProtectionComplete ...但我仍然可以阅读它:(

更新:找到了。将 Ian 的答案标记为正确

0 投票
1 回答
1606 浏览

ios - 从今天扩展程序打开时 iOS 应用程序崩溃

从今天的扩展中打开包含应用程序时可能出现崩溃的重复。

我正在尝试使用自定义 URL 方案从今天的扩展小部件打开包含的应用程序。我在扩展中使用的代码是:

但是,包含的应用程序在打开时会崩溃:

从其他任何地方打开时,相同的自定义 URL 方案都在工作。

使用 Xcode 6.1.1,部署目标 8.1。

0 投票
1 回答
478 浏览

ios - 确保“今日”扩展已更新来自核心数据的信息

我有一个应用程序和一个 Today 扩展,它们使用安全组标识符共享一个 Core Data 持久存储。

主应用更新 Core Data 存储,扩展只从存储中读取。

我正在使用一个NSFetchedResultsController在应用程序和扩展程序中都使用 a 来检索对象。

这基本上是有效的,除了当主应用程序将新对象添加到商店时,它们不会立即对扩展程序可见。同样,扩展程序在被主应用程序删除后仍然可以看到对象。

终止应用程序(从任务切换器向上滑动)会使扩展程序立即看到更改的数据。

如何确保扩展始终看到更新?

0 投票
1 回答
3424 浏览

ios - iOS 今日扩展未显示

我正在开发一个今天的扩展,它在模拟器上运行良好,但是当我在设备上运行我的应用程序时它不起作用。应用程序工作正常,但扩展程序不显示,因此我可以将其添加到其他扩展程序的下拉列表中(就像它不存在一样)。有人可以告诉我我做错了什么。

谢谢

0 投票
2 回答
4430 浏览

ios - 是否可以在今日小部件中刷新计时器?

我想知道是否可以在今天的小部件中更新计时器的文本标签。我环顾四周,但没有任何帮助。