Tag: ios8 extension

如何正确地将NSMutableArray传递给具有自定义数据模型的NSUserDefaults?

让我先说一下,我的代码有目的被遮蔽了一点。 我知道这个名字不好。 我正在尝试使用新的iOS 8function将小部件添加到我的应用程序中。 我正在使用这个链接作为教程 现在,到目前为止,当我的提交button在我的应用程序中被调用时,我在我的ViewController中。 到目前为止,我已经将该数组中的所有数据传递给了该数组。 //Passes the array of times to the shared group to be called by the notification center widget. NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.myGroup.TodayExtensionSharingDefaults"]; NSData *encodedArray = [NSKeyedArchiver archivedDataWithRootObject:tableViewController.TimeArray]; [sharedDefaults setObject:encodedArray forKey:@"TimesArray"]; [sharedDefaults synchronize]; 但是,我的数组存储了我创build的自定义数据模型,所以在我的数据模型中有: – (void)encodeWithCoder:(NSCoder *)encoder { //Encode properties, other class variables, etc [encoder encodeInt:_stopNumber forKey:@"stopNumber"]; [encoder […]

iOS 8共享扩展显示共享图像问题

我在我的UIImageView中显示图像有问题。 所以这是我在ShareViewController中获取图像的方法: – (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; for (NSItemProvider* itemProvider in ((NSExtensionItem*)self.extensionContext.inputItems[0]).attachments ) { if([itemProvider hasItemConformingToTypeIdentifier:@"public.image"]) { ++counter; [itemProvider loadItemForTypeIdentifier:@"public.image" options:nil completionHandler: ^(id<NSSecureCoding> item, NSError *error) { UIImage *sharedImage = nil; if([(NSObject*)item isKindOfClass:[NSURL class]]) { sharedImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:(NSURL*)item]]; } if([(NSObject*)item isKindOfClass:[UIImage class]]) { sharedImage = (UIImage*)item; } if ([(NSObject *)item isKindOfClass:[NSData class]]) { […]

iOS8自定义键盘Settings.bundle不显示

我添加了一个Settings.bundle键盘的目标。 但是当我在设置中添加键盘时,Settings.bundle中的Items不会显示出来。 我曾经工作过一次。 但是这是在Beta 4。 – 最好的祝福

从Safari的共享扩展获取HTML?

在扩展共享中,我设法使用以下代码获取Safari页面的URL: NSExtensionItem *item = self.extensionContext.inputItems.firstObject; NSItemProvider *itemProvider = item.attachments.firstObject; if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeURL]){ [itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeURL options:nil completionHandler:^(NSURL *url, NSError *error){ NSLog(@"%@", url.absoluteString); }]; } 我的问题是:我可以得到的页面的HTML? 谢谢。

从iOS扩展中打开URLscheme

我有这个代码,返回success = NO [self.extensionContext openURL:[NSURL URLWithString:@"URLApp://"] completionHandler:^(BOOL success) { [self.extensionContext completeRequestReturningItems:nil completionHandler:nil]; }]; 所以,当我debugging时,我无法从共享扩展中打开包含应用程序。 我已经configuration包含应用程序的主要目标是这样的: 我已经从safaritesting了开放的URLApp://它适用于我。 我也用这里提供的一些例子来了解如何使用urlscheme打开包含应用程序。

iOS共享扩展closures键盘

我正在为我的应用程序实施共享扩展,到目前为止,一切都进展顺利,除了我似乎无法解除使用默认布局/故事板自动打开的键盘。 我保持默认的devise/布局(SLComposeServiceViewController),其中包括预览图像和UITextview,UITextview自动进入焦点,打开键盘。 通常这没问题,但是如果你没有login我的应用程序,我会显示一个UIAlertController,说你需要login才能共享。 问题是键盘与警报同时打开。 我试过[self.view endEditing:YES]; 和[self.textView resignFirstResponder]; 在viewDidLoad,viewDidAppear和viewWillAppear没有运气。

iOS 8扩展相关性问题。 将一个项目文件导入到扩展视图控制器

我正在开发iOS 8扩展。 我阅读了许多手册,所有这些手册都只是展示了如何简单地为您的应用程序添加扩展,似乎就够了。 但是这里有很多陷阱: 添加扩展名后,您将需要导入一些类,以添加新的扩展名目标时创build的视图控制器。 在这里你需要大量使用它们,如果你有巨大的项目,这不是一个简单的任务。 解决scheme可以select扩展目标,然后在构build阶段 – >编译源按加号button,并使用热键CMD + A将所有.m文件添加到您的目标。 添加所有文件后,你可以看到一些方法不会工作,你可以看到这个错误: 'sharedApplication' is unavailable: not available on iOS (App Extension)所以解决scheme可以是一个macros,检查ifndef Extension然后我们可以调用sharedApplication程序代码。 #import <Foundation/Foundation.h> vs #import <UIKit/UIKit.h> 。 所以我还没有解决这个问题,但是当我用UIKitreplaceFoundation它适用于我和所有相关的问题消失。 的CocoaPods。 我们所有人都使用CocoaPods,所以如果你的扩展需要使用你的项目代码的一部分,并且代码使用CocoaPods库,那么你需要添加link_with 'ProjectTarged', 'ExtensionTarget'到Pod文件并再次进行pod install来绑定你的库与新的扩展目标。 所以这是我所面对的一个要点。 也许有人可以build议如何解决这个问题,正如我所说,我只是将一个需要的文件导入到扩展视图控制器。 导入的文件包含一些库,如AFNetworking , RestKit和其他来自主项目的嵌套类。 我需要这个类来调用几个方法,将数据从扩展传递到我的后端服务器。 所以一个文件,但很多问题。

如何从iOS键盘扩展中检测到文本字段是通过类似iMessage中的“发送”操作清除的?

在我的iOS键盘应用程序中,我目前有一个文本build议栏,很像默认的iOS 8键盘的build议栏。 我想清除build议栏上的所有文本,只要用户做了一些清除文本字段的内容(例如,当有人在iMessage或Whatsapp上点击“ 发送 ”时)。 由于打“发送” 不是一个按键 ,我想知道是否有办法检测到从文本字段清除键盘时。 我试图检测空文本""或新行"\n" ,但到目前为止这还没有奏效。 编辑:我知道这是可能的通过第三方iOS键盘,如在这里看到的情况下(这是从主板 ) 点击发送之前,请注意build议栏中的文字。 点击“发送”后立即 build议栏被清除。

UIActivityViewController不在iOS8的“更多”列表中显示我的自定义活动图像

这是截图: 在我的UIActivity的子类中,我重写了-activityImage方法来为Facebook共享项目使用我自己的图标,但它出现在共享面板中,但在MORE列表中消失。

iOS共享与动作应用程序扩展

我想实现一个应用程序扩展,但我不能决定是否应该作为共享扩展或行动扩展实现它。 文档没有太多说明差异,只是这个: 分享(iOS和OS X) :发布到分享网站或与他人分享内容 操作(iOS和OS X; UI和非UI变体) :操纵或查看源自主机应用程序的内容 是否也有技术上的差异(例如,Action扩展是否允许我做一些Share扩展没有的function),还是仅仅是Apple希望你遵循的一个约定,以减less用户的困惑? 似乎至less有一个区别是,如果你想要一个非UI动作,你必须select一个动作而不是共享扩展。 其他的区别是什么? 我正在寻找的东西的例子: 他们是否都允许我自定义用户界面? 这两个都给我一些默认的UI使用? 他们是否有相同的权限,还是我被允许在一个和另一个之间做更多的事情? 他们都收到来自主机应用程序相同的input? 他们都可以发回相同的数据到主机应用程序?