Tag: ios8 share extension

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]]) { […]

无法隐藏键盘与SLComposeServiceViewController

我的共享扩展不需要任何用户input,除了在表格视图中的configuration,所以我试图隐藏键盘时,在Safari中的视图。 我能够在模拟器中运行我的代码,但是当我在我的设备上testing时,我是共享扩展程序不启动,Safari挂起。 我已经尝试了一些方法来防止键盘启动 -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; self.textView.text = @"\n Place Holder Text"; self.textView.editable = NO; } 同样,我在loadView中试过,因为这是SLComposeServiceViewController设置textView和textView委托的地方。 -(void)loadView{ [super viewWillAppear:animated]; self.textView.text = @"\n Place Holder Text"; self.textView.editable = NO; } 而只是为了好玩 -(BOOL)textViewShouldBeginEditing:(UITextView *)textView{ return NO; } 所有这些工作在模拟器上,但不在我的设备上。 会发生什么? 有没有我(或Safari)丢失的某种Notification或Observer

iOS Swift 3:从共享扩展共享数据到主机应用程序

您好,我已经实现了我的应用程序的共享扩展,从图库中挑选图像并发送到特定的视图。 现在的问题是当我试图保存图像arrays(从图库中挑选的图像) func manageImages() { let content = extensionContext!.inputItems[0] as! NSExtensionItem let contentType = kUTTypeImage as String for (index, attachment) in (content.attachments as! [NSItemProvider]).enumerated() { if attachment.hasItemConformingToTypeIdentifier(contentType) { attachment.loadItem(forTypeIdentifier: contentType, options: nil) { data, error in if error == nil, let url = data as? URL { do { let imageData = try Data(contentsOf: url) […]

从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分享扩展:如何从笔记post中读取

我希望我的应用程序能够从笔记应用程序post以及其他文本编辑postparsing文本,所以我创build了一个共享扩展目标。 一切工作正常,直到我准备发布的应用程序,取代了TRUEPREDICATE TRUEPREDICATE。 据推测,在我的共享扩展目标,我应该添加NSExtensionActivationSupportsText键到NSExtensionActivationRule在info.plist,我做了,但我的应用程序扩展名仍然没有出现在共享表中。 根据https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html我的info.plist应该包含这个: <key>NSExtensionAttributes</key> <dict> <key>NSExtensionActivationRule</key> <dict> <key>NSExtensionActivationSupportsText</key> <integer>1</integer> </dict> </dict> 我尝试启用其他types的附件,文件,网页,但没有效果。

从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共享扩展没有得到图像

我相信这一切都是微不足道的,一旦有人指出我正确的方向,所以我道歉,问一个愚蠢的问题。 然而,我一直在寻找几天,我无法弄清楚我做错了什么。 场景:创build一个简单的共享扩展,接收一个图像文件 问题:当我访问附件时,尽pipe我可以看到itemProvider中的“public.jpg”,但处理程序从来没有被调用,但是我看不到数据在哪里? 我做了什么: 1) defined NSExtensionActivationSupportsImageWithMaxCount = 1 as my only activation rule 2) added CoreMedia framework to the extension 3) added the same group to both app and app extension 4) made sure both have the group (1) in the entitlement 5) made sure both are using a certificate/app id with that […]

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在地图上添加共享扩展

我想在苹果地图上添加共享扩展,有谁知道该怎么做。 我尝试按如下方式设置NSExtensionAttributes,但不起作用,我的APP不显示在地图的分享表中。 NSExtensionAttributes NSExtensionActivationRule NSExetnsionActivationSupportsWebURLWithMaxCount NSExetnsionActivationSupportsWebPageWithMaxCount