今日扩展无法inheritanceCoreMedia权限

我正在试图在Swift中添加一个Today Extension来到我的Objective-C应用程序。 我一直在我的debugging器日志中收到此消息: Failed to inherit CoreMedia permissions from 3005: (null) 。 数字 3005每次都不一样。 我正在从窗口小部件中读取NSUserDefaults,但是我正在读取/写入应用程序本身。 我的TodayViewController中唯一的代码是这样的:

 override func viewDidLoad() { super.viewDidLoad() let formatter = NSNumberFormatter() formatter.numberStyle = .CurrencyStyle totalLabel.text = formatter.stringFromNumber(0) coinsLabel.text = formatter.stringFromNumber(0) formatter.maximumFractionDigits = 0 billsLabel.text = formatter.stringFromNumber(0) } func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets { return UIEdgeInsetsMake(8.0, 16.0, 8.0, 16.0) } func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!) { // Perform any setup necessary in order to update the view. // If an error is encountered, use NCUpdateResult.Failed // If there's no update required, use NCUpdateResult.NoData // If there's an update, use NCUpdateResult.NewData completionHandler(NCUpdateResult.NewData) } 

我相信当您创build应用程序扩展时,“无法从NNNNinheritanceCoreMedia权限”警告与应用程序组相关。 您包含的应用程序和您的应用程序扩展需要启用“应用程序组”function,并使用相同的应用程序组容器标识(例如:group.com.yourdomain.yourappname)。 应用程序组用于允许多个应用程序访问共享容器,并允许应用程序之间进行额外的进程间通信。

功能应该是这样的

我有相同的日志输出。 清理(Cmd + Shift + K)为我解决了它。

我也遇到过这个问题,我唯一解决的办法是在故事板上添加每个对象的垂直和水平约束。

首先,点击Assets.xcassets

首先,点击Assetes.xcassets

其次,点击目标成员,检查你的应用程序和小部件,以允许小部件访问您的资源。

其次,点击目标会员

之后,再次运行你的Widget,现在应该可以正常工作。

非常误导性的错误。 如上所述。 select你的视图控制器并添加缺less的约束或添加约束到自己解决问题。

在这里输入图像说明

检查今天的扩展主视图,viewcontroller与“初始视图控制器”选项已启用。

我解决了我的情况:打开容器和扩展应用程序的应用程序组。 并删除所有隐藏的UIKit控件作为UILabel, UIView, ...

运行我的扩展时遇到同样的问题。 在我的情况下,它是通过在真实设备中运行扩展来解决的。

我也遇到了这个问题。 我的问题是我在模拟器上一次运行两个程序。 在我停下其中一个之后,错误消息就消失了。 希望能帮助到你。

这是我的这个错误消息的经验。 我有一个4个ViewController在其中的故事板。 我做了一个重构提取所有的,所以现在我有5个故事板,其中4个视图控制器和原始,“主”,一个只有故事板的参考。

那么…那很糟糕。 不要这样做。

当我把最初的故事板保留在原始的故事板文件中时,一切都奏效了,所以我没有重构其中的一个。

在我的情况下,我的目标plist中有一个错误:我红色的文档在这里 ,我添加了属性NSExtensionPrincipalClass :当我删除它和它的价值(校长的名称和独特的类),它工作正常

我发现,如果你使用的是一个StoryBoard,你将需要进入info.plist并删除属性NSExtensionPrincipalClass 。 之后,扩展开始加载就好了。

确保[[NSUserDefaults alloc] initWithSuiteName:APP_GROUP]匹配你定义的组名。

这是模拟器的问题,尝试一些真正的设备。