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

     

  • 相关阅读:
    Castle 开发系列文章
    ASP.NET MVC 3 Release Candidate 发布喽
    Scott Hanselman on SpeakerWiki
    2010年上半年计算机软考软件设计师试卷参考答案
    一站式示例代码库2010年11月5日更新
    从数据到代码—基于T4的代码生成方式
    CodeDOM
    老吉优秀的数据库访问层代码(转)
    非关语言: 设计模式
    EntLib
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7846191.html
Copyright © 2011-2022 走看看