使用 SSZipArchive 依赖项对 Swift cocoa pod 进行 lint

Lint a Swift cocoa pod with SSZipArchive dependency

有人成功地创建了一个依赖 SSZipArchive 的 pod 吗?我的 类 都在 Swift 中,但我也包括我的桥接文件 (#import "SSZipArchive")。当我尝试 lint 时,我收到 9 个错误,所有错误都与 SSZipArchive 相关。请让我们知道您的想法。非常感谢!

这是我的 pod 规范文件:

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 class,它与 objc 中的 SSZipArchive pod 通信。不漂亮也不理想,但现在可以使用。希望他们尽快更新。

注意:您将在桥接头文件中导入 zipArchive.h 而不是 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

您还需要在项目设置中设置"Allow Non-modular includes"

我能够让 SSZipArchive 进行编译,但是在查看了他们的 swift 示例 https://github.com/ZipArchive/ZipArchive 并准确复制了他们为我编译和 运行 的实现之后,我并没有这样做。

这是我在 swift

中搜索过的各种现有建议都没有成功的结果

我最终不得不调整框架源代码、复制链接器文件、标志,以匹配并最终编译。这非常乏味,因为我当前的 pod 甚至我的项目都有很多变化。