zoukankan      html  css  js  c++  java
  • Share Extension

    https://my.oschina.net/vimfung/blog/707448

    http://blog.csdn.net/chengwuli125/article/details/39521213

    NSItemProvider就是附件,可能是图片、视频、网址的NSURL。例如图片:file:///var/mobile/Media/PhotoData/OutgoingTemp/83C2CA24-9774-479B-8507-B062C1D3F459/IMG_0101.JPG

     

    遇到的坑:当选择多个图片(附件)时,在viewDidLoad,先保存到NSUserDefaults,

    - (void)viewDidLoad

    {

        [superviewDidLoad];

        NSMutableArray *inputItems = [NSMutableArrayarray];

        self.itemArray = [NSMutableArrayarray];

        NSUserDefaults *groupUS = [[NSUserDefaultsalloc] initWithSuiteName:kAppGroupId];

        __block NSString *ident = @"";

        

        [self.extensionContext.inputItemsenumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

            NSExtensionItem *exitem = obj;

            [exitem.attachments enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

                NSItemProvider *itemProvider = obj;

                if ([itemProvider hasItemConformingToTypeIdentifier:@"public.png"])

                {

                    ident = @"public.png";

                    

                }elseif ([itemProvider hasItemConformingToTypeIdentifier:@"public.jpeg"])

                {

                    ident = @"public.jpeg";

                }

                [itemProvider loadItemForTypeIdentifier:ident options:nil completionHandler:^(id<NSSecureCoding>  _Nullable item, NSError * _Null_unspecified error) {

                    if ([(NSObject *)item isKindOfClass:[NSURL class]]) {

                        NSURL *url = (NSURL *)item;

                        NSData *data = [NSData dataWithContentsOfURL:url];

                        [inputItems addObject:data];

                        [self.itemArray addObject:exitem];

                        [groupUS setObject:inputItems forKey:@"inputItems"];

     

                    }

                    

                }];

                

            }];

            

        }];

    }

    提审的扩展和容器程序的Build Version要保持一致,否则在上传审核包的时候会提示警告,导致程序无法正常提审。

     

     

     

    System-Declared Uniform Type Identifiers

    https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1

     

  • 相关阅读:
    通过串口抓取图片
    Qt也有垃圾回收(通过QScopedPointer实现),下决心在项目里使用QScopedPointer,省了太多事情了,而且更安全!!
    IOS端 margin-top 和 margin-bottom 使用负数时的区别
    使用ROME解析rss,如何获取icon图标
    SVG图片如何调整大小和颜色
    Js点击触发Css3的动画Animations、过渡Transitions效果
    如何判断是否为同一个App,Ionic3如何修改包名
    如何使用JPQL写纯SQL语句
    为何在新线程中使用注解获取不到Spring管理的Bean
    Ionic的NavController 和ModalController 的区别
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7846191.html
Copyright © 2011-2022 走看看