草庐IT

ios - Today Widget 扩展的问题

我的应用程序有一个TodayWidget,但有人告诉我它有问题。基本上,似乎正在发生的事情(我无法自己测试)是小部件有时只会显示“无法加载”,而其他时候只会显示高度为0。我真的不明白为什么会这样。我已经在我的设备和模拟器上测试了数周,从未遇到过这个问题。我想知道它是否可能归结为刷新代码:funcwidgetPerformUpdateWithCompletionHandler(completionHandler:((NCUpdateResult)->Void)!){//Performanysetupnecessaryinordertoupdatetheview.vardefaults=N

ios - 支持两个版本的 Today Widget ios 9/10

我想知道这是否可能,以及如何支持我的TodayWidgetforiOS9和iOS10的两个版本,这两个版本只出现在正确的操作系统上。到目前为止,我尝试了两个目标,一个是针对iOS9的部署目标,另一个是针对iOS10的部署目标。不幸的是,在iOS10模拟器中,两个TodayWidget都出现了。有没有办法做到这一点,或者我需要在我的代码中处理它并检查我使用的是哪个版本? 最佳答案 虽然您无法阻止您的iOS9小部件目标显示在小部件选择列表中,但您可以对其设置hasContentfalse并且它不会显示在今天查看方式[[NCWidgetC

ios - 如何在 Today Widget Extension 中只设置扩展模式?

在iOS10中有两种widget显示模式:NCWidgetDisplayModeCompact和NCWidgetDisplayModeExpanded。第一个默认启用。如何启用默认秒数,但不显示“显示更多”/“显示更少”按钮?在应用程序“Vidgets”中实现了这一点。 最佳答案 如果将显示模式设置为展开,则无法隐藏Showless/Showmore按钮。但是,如果您将小部件最大可用显示模式设置为紧凑,它应该隐藏它:self.extensionContext?.widgetLargestAvailableDisplayMode=.c

core-data - Swift - 在应用程序组中共享核心数据模型(带扩展)

我试图在我的应用程序和扩展中使用相同的核心数据模型,但我不确定如何在两者之间共享核心数据模型。核心数据模型的类使用带有类名的命名空间,所以当我尝试获取扩展中的对象时,出现无法加载名为“”的类的错误。CoreData:warning:Unabletoloadclassnamed'Dali.Alarm'forentity'Alarm'.Classnotfound,usingdefaultNSManagedObjectinstead.有没有办法不在类名中使用命名空间,或者有没有办法让扩展继承主项目的命名空间? 最佳答案 我早些时候被困在这

ios - NSWidgetExtensionContext openURL Swift

我一直在尝试实现一个按钮来从其小部件打开我的iOS应用程序。我意识到这个问题在论坛上已经被解决了,但我找不到对我收到的具体错误的解释。也许你们中一些更有经验的iOS开发人员可以对此有所了解。我正在使用XCode8.1和Swift2为我的iOS10应用开发一个更新。我的小部件按钮的代码:添加到小部件的info.plist的URL方案:我在按下OpenApp按钮时收到的运行时错误:AppWidget[11872:3577323]__55-[_NCWidgetExtensionContextopenURL:completionHandler:]_block_invokefailed:Erro

ios - 是否可以在 Today Widget 中刷新计时器?

我想知道是否可以更新今日小部件中计时器的文本标签。我环顾四周,但没有任何帮助。 最佳答案 是的,你可以。我刚刚测试过并且有效。您只需将计时器添加到主运行循环NSRunLoopCommonModes:RunLoop.main.add(yourTimerName,forMode:.commonModes)importNotificationCenterclassTodayViewController:UIViewController,NCWidgetProviding{@IBOutletweakvarstrTimer:UILabel!v

java - 尝试在空对象引用上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)'

问题如下。我有一个登录Activity(在AndroidStudio中),几天前运行良好。我不记得有任何更改,但上次我运行此程序时,应用程序在我单击登录按钮后立即关闭。最后指出的是关于AsyncTask预执行的toast。而且我不明白为什么会出现NullPointerException。我的注册Activity代码几乎相同,而且运行良好。这是日志:05-2816:04:52.3951218-1232/system_processV/WindowManager﹕addAppToken:AppWindowToken{5d89ebtoken=Token{23ccc93aActivityRec

java - 如何在android小部件中设置RecyclerView

发件人:https://developer.android.com/training/material/lists-cards.html我想在主屏幕上的小部件中设置RecyclerView。是否可能,如果可能,该怎么做?请给一些sample。 最佳答案 不支持将RecyclerView用作RemoteView。参见CreatingLayoutARemoteViewsobject(and,consequently,anAppWidget)cansupportthefollowinglayoutclasses:FrameLayoutLi

java - Android调试器隐藏局部变量

在执行以下代码时,使用Android的调试器时我有一个奇怪的行为。变量value在被小部件初始化后立即消失。我将其移至watch,但它显示“找不到局部变量值”。无论我把变量放在哪里,在for循环之前还是在里面,无论如何它的行为都是一样的。我还打印了变量,正如您在代码中看到的那样,它显示"valueisnull"但是当我通过if(value==null)检查它时,它没有尝试将其转换为整数时停止并最终抛出错误。代码:for(inti=0;i 最佳答案 你使用混淆器吗?如果是,那可能是问题所在-用禁用它-dontobfuscate你应该把

java - 如何使用 Activity 的 ListView 更新 App Widget

我知道这个问题已经被问过很多次了,但我从头到尾浏览了文档,阅读了这里的所有答案,但都没有帮助。老实说,每个答案都说明了如何解决这个问题。现在回到我的问题。我想从某个Activity更新小部件ListView,为此我创建了WidgetProvider#sendUpdateBroadcastToAllWidgets(),我从Activity中调用它。它最终会调用onUpdate()以便正确接收广播。但是View没有刷新。我还尝试调用AppWidgetManager#notifyAppWidgetViewDataChanged()并刷新WidgetFactory#onDataSetChang