草庐IT

today-extension

全部标签

swift - 如何在 OS X Today 扩展中使用 CLLocationManager?

我试图在TodayExtension中获取用户的位置,但我遇到了死胡同。在OSX应用程序上,当您调用locationManager.startUpdatingLocation()时,会弹出一个对话框,询问您是否要让该应用程序使用您的位置。但是,在TodayView中,调用此方法后什么也没有出现,我的委托(delegate)也没有为didUpdateLocations或didFailWithError调用。CLLocationManager.authorizationStatus()返回NotDetermined。我一直在查看有关TodayExtensions的Apple文档,但没有看到

ios - 处理 Share Extension (Swift) 中的 NSItemProvider 数据类型

我在Swift(3)中遇到ShareExtension编程问题。我的主要问题是处理NSItemProvider的data类型。问题在于:根据我从中启动扩展程序的应用程序,我会得到不同类型的数据。例如:我告诉应用程序:letIMAGE_TYPE=kUTTypeImageasStringifattachment.hasItemConformingToTypeIdentifier(IMAGE_TYPE){attachment.loadItem(forTypeIdentifier:IMAGE_TYPE,options:nil){data,errorin...}(注意:附件是NSItemProv

ios - 处理 Share Extension (Swift) 中的 NSItemProvider 数据类型

我在Swift(3)中遇到ShareExtension编程问题。我的主要问题是处理NSItemProvider的data类型。问题在于:根据我从中启动扩展程序的应用程序,我会得到不同类型的数据。例如:我告诉应用程序:letIMAGE_TYPE=kUTTypeImageasStringifattachment.hasItemConformingToTypeIdentifier(IMAGE_TYPE){attachment.loadItem(forTypeIdentifier:IMAGE_TYPE,options:nil){data,errorin...}(注意:附件是NSItemProv

swift - 如何以编程方式关闭 Safari App Extension 弹出窗口?

我正在使用XCode8.3和Swift3构建一个Safari应用程序扩展,遵循SafariAppExtensionProgrammingGuide.该扩展包括一个popover单击扩展的工具栏项时出现。弹出View包含一些链接到用户可以执行的操作的按钮。我想在执行完操作后单击其中一个按钮关闭弹出窗口。默认情况下,单击弹出窗口外的任意位置可将其关闭,但我无法在指南或docs中找到任何其他关闭弹出窗口的方法。.我知道NSPopover有一个performClose方法,但似乎没有办法从扩展中访问弹出窗口本身:应用程序扩展只允许您提供SFSafariExtensionViewControll

swift - 如何以编程方式关闭 Safari App Extension 弹出窗口?

我正在使用XCode8.3和Swift3构建一个Safari应用程序扩展,遵循SafariAppExtensionProgrammingGuide.该扩展包括一个popover单击扩展的工具栏项时出现。弹出View包含一些链接到用户可以执行的操作的按钮。我想在执行完操作后单击其中一个按钮关闭弹出窗口。默认情况下,单击弹出窗口外的任意位置可将其关闭,但我无法在指南或docs中找到任何其他关闭弹出窗口的方法。.我知道NSPopover有一个performClose方法,但似乎没有办法从扩展中访问弹出窗口本身:应用程序扩展只允许您提供SFSafariExtensionViewControll

ios - IOS开发中protocol、extension、category有什么区别?以及如何恰本地使用它们?

此外,Swift和Objective-C语言在这3个方面有什么区别吗? 最佳答案 Protocols协议(protocol)声明任何类都可以选择实现的编程接口(interface)。协议(protocol)定义了适合特定任务或功能的方法、属性和其他要求的蓝图。协议(protocol)就像接口(interface)一样,它提供了符合类必须实现的一些方法。用途:一个常见的用例是让您更改某些类的行为而无需对它们进行子类化。例如:UITableViewDelegate、UITableViewDataSource另见ProtocolExten

ios - IOS开发中protocol、extension、category有什么区别?以及如何恰本地使用它们?

此外,Swift和Objective-C语言在这3个方面有什么区别吗? 最佳答案 Protocols协议(protocol)声明任何类都可以选择实现的编程接口(interface)。协议(protocol)定义了适合特定任务或功能的方法、属性和其他要求的蓝图。协议(protocol)就像接口(interface)一样,它提供了符合类必须实现的一些方法。用途:一个常见的用例是让您更改某些类的行为而无需对它们进行子类化。例如:UITableViewDelegate、UITableViewDataSource另见ProtocolExten

ios - 如何用 "Today at xx:xx pm", "Yesterday at xx:xx am"之类的人类语言显示日期?

我有一个日期“2014-07-0220:57:38+0000”,我想将它的格式设置为“今天晚上8:57”。我希望如果一个字符串是昨天,则将其显示为“昨天上午9:00”。如果既不是今天也不是昨天,只需显示实际日期,例如“27/6at7:53pm”。我能够使用下面的代码获取格式为“8:57AM”的时间。varformatter:NSDateFormatter=NSDateFormatter()formatter.dateFormat="h:mma"//message.createdAtisthedateletdateString=formatter.stringFromDate(messa

ios - 如何用 "Today at xx:xx pm", "Yesterday at xx:xx am"之类的人类语言显示日期?

我有一个日期“2014-07-0220:57:38+0000”,我想将它的格式设置为“今天晚上8:57”。我希望如果一个字符串是昨天,则将其显示为“昨天上午9:00”。如果既不是今天也不是昨天,只需显示实际日期,例如“27/6at7:53pm”。我能够使用下面的代码获取格式为“8:57AM”的时间。varformatter:NSDateFormatter=NSDateFormatter()formatter.dateFormat="h:mma"//message.createdAtisthedateletdateString=formatter.stringFromDate(messa

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

今天的扩展不会出现在Swift应用程序中,但会出现在ObjectiveC应用程序中。我所做的是在Storyboard上为swift和objectivec应用程序添加一个带有一些内容的UILabel。它在我运行ObjectiveC应用程序时出现,但在我执行Swift应用程序时没有出现。我是不是漏掉了什么? 最佳答案 您可以注释掉提供的init方法。//init(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){//super.init(nibName:nibName