本文介绍了使用SSZipArchive依赖项替换Swift Cocoa Pod的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人在创建具有SSZipArchive依赖关系的Pod时是否有运气?我的课程全部在Swift中,但是我也包括了桥接文件(#import"SSZipArchive").当我尝试加绒时,我得到9个错误,所有错误与SSZipArchive有关.请让您知道您的想法.非常感谢!

Anyone had any luck creating a pod with a SSZipArchive dependency? My classes are all in Swift but I'm including my bridging file as well (#import "SSZipArchive"). When I try to lint I get 9 errors all related to SSZipArchive. Please let know your thoughts. Thanks so lot!

  • 错误| SSZipArchive/SSZipArchive/minizip/ioapi.h:45:10:错误:框架模块"SSZipArchive.ioapi"内部包含非模块化标头
  • 注意|目标支持文件/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:5:9:注意:位于目标支持文件/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:5中:
  • 错误| SSZipArchive/SSZipArchive/minizip/mztools.h:15:10:错误:框架模块"SSZipArchive.mztools"内部包含非模块化标头
  • 注意| SSZipArchive/SSZipArchive/minizip/mztools.h:18:10:注意:在SSZipArchive/SSZipArchive/minizip/mztools.h:18包含的文件中:
  • 错误| SSZipArchive/SSZipArchive/minizip/unzip.h:51:10:错误:框架模块"SSZipArchive.unzip"内部包含非模块化标头
  • 注意|目标支持文件/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:7:9:注意:位于目标支持文件/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:7中:
  • 错误| SSZipArchive/SSZipArchive/minizip/zip.h:50:10:错误:框架模块"SSZipArchive.zip"内部包含非模块化标头
  • 注意|目标支持文件/Pods-VideoPlayerLibrary/Pods-VideoPlayerLibrary-umbrella.h:3:9:注意:在目标支持文件/Pods-VideoPlayerLibrary/Pods-VideoPlayerLibrary-umbrella.h:3中包含的文件:
  • 错误| VideoPlayerLibrary/Pod/Classes/VideoPlayerLibrary-Bridging-Header.h:12:9:错误:无法构建模块"SSZipArchive"
  • 注意| :0:错误:无法构建Objective-C模块"VideoPlayerLibrary"
  • ERROR | SSZipArchive/SSZipArchive/minizip/ioapi.h:45:10: error: include of non-modular header inside framework module 'SSZipArchive.ioapi'
  • NOTE | Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:5:9: note: in file included from Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:5:
  • ERROR | SSZipArchive/SSZipArchive/minizip/mztools.h:15:10: error: include of non-modular header inside framework module 'SSZipArchive.mztools'
  • NOTE | SSZipArchive/SSZipArchive/minizip/mztools.h:18:10: note: in file included from SSZipArchive/SSZipArchive/minizip/mztools.h:18:
  • ERROR | SSZipArchive/SSZipArchive/minizip/unzip.h:51:10: error: include of non-modular header inside framework module 'SSZipArchive.unzip'
  • NOTE | Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:7:9: note: in file included from Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:7:
  • ERROR | SSZipArchive/SSZipArchive/minizip/zip.h:50:10: error: include of non-modular header inside framework module 'SSZipArchive.zip'
  • NOTE | Target Support Files/Pods-VideoPlayerLibrary/Pods-VideoPlayerLibrary-umbrella.h:3:9: note: in file included from Target Support Files/Pods-VideoPlayerLibrary/Pods-VideoPlayerLibrary-umbrella.h:3:
  • ERROR | VideoPlayerLibrary/Pod/Classes/VideoPlayerLibrary-Bridging-Header.h:12:9: error: could not build module 'SSZipArchive'
  • NOTE | :0: error: could not build Objective-C module 'VideoPlayerLibrary'

这是我的pod规格文件:

Here is my pod spec file:

Pod::Spec.new do |s|
  s.name                  = "VideoPlayerLibrary"
  s.version               = "1.0.27"
  s.platform              = :ios, "4.0"
  s.ios.deployment_target = "8.3"
  s.requires_arc          = true
  s.source_files          = 'Pod/Classes/*'
  s.resource_bundles      = {
    'VideoPlayerLibrary' => ['Pod/Assets/*']
  }
  s.library = 'zlib', 'z'
  s.frameworks = 'Foundation', 'UIKit'
  s.dependency 'Alamofire'
  s.dependency 'SSZipArchive'
end

推荐答案

我迫不及待地想找到更好的解决方案,我的临时解决方案是创建一个zipArchive类,该类与objc中的SSZipArchive pod进行对话.不漂亮,也不理想,但现在可以使用.我希望他们尽快进行更新.

I couldn't wait for a better solution, my temporary solution was to create a zipArchive class which talks to the SSZipArchive pod in objc. Not pretty and not ideal but works for now. I hope they update it soon.

注意:您应该在桥接头文件中而不是SSZipArchive.h中导入zipArchive.h

Note: you would import zipArchive.h in your bridging-header file and not SSZipArchive.h

#import "zipArchive.h"
#import <SSZipArchive/SSZipArchive.h>

@implementation zipArchive

+ (BOOL)unzipFileAtPath:(NSString *)path toDestination:(NSString *)destination{
    return [SSZipArchive unzipFileAtPath:path toDestination:destination];
}

@end

您还需要在项目设置中设置允许非模块化包含"

You also need to set "Allow Non-modular includes" in your project settings

这篇关于使用SSZipArchive依赖项替换Swift Cocoa Pod的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-17 12:00