【问题标题】:Adobe Creative SDK iOS Swift 'AdobeImageEditorPremiumAddOn' is unavailable errorAdobe Creative SDK iOS Swift 'AdobeImageEditorPremiumAddOn' 不可用错误
【发布时间】:2015-05-10 18:43:54
【问题描述】:

我刚开始使用 Adob​​e Creative Cloud SDK,但遇到如下错误。

未知:0:错误:“AdobeImageEditorPremiumAddOn”不可用 __ObjC.AdobeImageEditorPremiumAddOn:1:38:注意:“AdobeImageEditorPremiumAddOn”已明确标记为不可用 这里 @availability(*, 不可用) struct Adob​​eImageEditorPremiumAddOn : 原始选项集类型

当我插入下面的代码时,就会产生这个错误

var imageView = AdobeUXImageEditorViewController(image: UIImage(named:"image.png"))

imageView.delegate = self
self.presentViewController(imageView, animated: true, completion: nil)

即使在添加应用程序之后,框架也完全按照他们提到的方式

【问题讨论】:

    标签: ios swift sdk adobe


    【解决方案1】:

    我发现的唯一解决方案是创建一个桥接头并从 Swift 中调用它,如下所示

    这是目标 C

    [[AdobeUXImageEditorViewController alloc] initWithImage:[UIImage    imageNamed:@"img.jpg"]];
    
    [editorController setDelegate:self];
    
    [self presentViewController:editorController animated:YES completion:nil]; 
    

    并从swift调用上面的代码,如下所示

     var view = objcViewController()
     self.navigationController!.presentViewController(view, animated: true, completion: nil)
    

    如果有任何更好的方法来完成它,请告诉我。

    【讨论】:

      【解决方案2】:

      面临同样的问题。您需要执行以下操作:

      1) 创建一个获取 UIImage 并初始化 Adob​​eUXImageEditorViewController 的 Objective C 方法

      鸟舍.m

      #import "aviary.h"
      
      @implementation AviaryWrapper
      
      + (AdobeUXImageEditorViewController *)displayEditorForImage:(UIImage *) imageToEdit
      {
      
          NSString* const CreativeSDKClientId = @""; //TODO use correct value
          NSString* const CreativeSDKClientSecret = @"";
      
          [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:CreativeSDKClientId withClientSecret:CreativeSDKClientSecret];
      
          AdobeUXImageEditorViewController *editorController = [[AdobeUXImageEditorViewController alloc] initWithImage: imageToEdit];
      
          return editorController;
      
      }
      @end
      

      2) 创建 aviary.h

      #ifndef HelloWorld_aviary_h
      #define HelloWorld_aviary_h
      
      #import <Foundation/Foundation.h>
      #import <AdobeCreativeSDKFoundation/AdobeCreativeSDKFoundation.h>
      #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>
      
      
      
      @interface AviaryWrapper : NSObject
      
      + (AdobeUXImageEditorViewController *)displayEditorForImage:(UIImage *) imageToEdit;
      
      @end
      
      #endif
      

      3) 确保将 aviary.h 添加到您的桥接头中

      在桥接头文件中

      #import "aviary.h"
      

      4) 然后简单地调用传递图像的 AviaryWrapper 类

       var imageEditor = AviaryWrapper.displayEditorForImage(info[UIImagePickerControllerOriginalImage] as! UIImage)
       presentViewController(imageEditor, animated: true, completion: nil)
      

      (或者在您的情况下,将 info[UIImagePickerControllerOriginalImage] 替换为您要渲染的实际图像。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-21
        • 1970-01-01
        • 2016-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-18
        相关资源
        最近更新 更多