4

SSZipArchive 依存関係を持つポッドを作成した人はいますか? 私のクラスはすべて Swift ですが、ブリッジ ファイルも含めています (#import "SSZipArchive")。リントしようとすると、SSZipArchive に関連する 9 つのエラーが発生します。あなたの考えを教えてください。どうもありがとう!

  • エラー | SSZipArchive/SSZipArchive/minizip/ioapi.h:45:10: エラー: フレームワーク モジュール 'SSZipArchive.ioapi' 内に非モジュラー ヘッダーが含まれています
  • 注意 | Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:5:9: 注: Target Support Files/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' 内に非モジュラー ヘッダーが含まれています
  • 注意 | Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:7:9: 注: Target Support Files/Pods-SSZipArchive/Pods-SSZipArchive-umbrella.h:7 から含まれるファイル内:
  • エラー | SSZipArchive/SSZipArchive/minizip/zip.h:50:10: エラー: フレームワーク モジュール 'SSZipArchive.zip' 内に非モジュラー ヘッダーが含まれています
  • 注意 | Target Support Files/Pods-VideoPlayerLibrary/Pods-VideoPlayerLibrary-umbrella.h:3:9: 注: Target Support Files/Pods-VideoPlayerLibrary/Pods-VideoPlayerLibrary-umbrella.h:3 から含まれるファイル内:
  • エラー | VideoPlayerLibrary/Pod/Classes/VideoPlayerLibrary-Bridging-Header.h:12:9: エラー: モジュール 'SSZipArchive' をビルドできませんでした
  • 注意 | :0: エラー: Objective-C モジュール 'VideoPlayerLibrary' をビルドできませんでした

ここに私のポッド仕様ファイルがあります:

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
4

2 に答える 2

0

より良い解決策が待ちきれませんでした。私の一時的な解決策は、objc の SSZipArchive ポッドと通信する zipArchive クラスを作成することでした。きれいではなく、理想的ではありませんが、今のところ機能します。彼らがすぐにそれを更新することを願っています。

注: SSZipArchive.h ではなく、ブリッジ ヘッダー ファイルに zipArchive.h をインポートします。

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

@implementation zipArchive

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

@end

また、プロジェクト設定で「非モジュラー インクルードを許可する」を設定する必要があります。

ここに画像の説明を入力

于 2015-05-11T19:15:00.280 に答える
0

SSZipArchive をコンパイルすることができましたが、迅速な例https://github.com/ZipArchive/ZipArchiveを見て、コンパイルして実行した実装を正確にコピーした後ではありませんでした。

これは、私が迅速に検索したさまざまな既存の提案を行うことに成功しなかった後です

最終的には、フレームワークのソースを調整し、リンカー ファイル、フラグをコピーして、一致させて最終的にコンパイルする必要がありました。現在のポッドやプロジェクトにかなりの数の変更があったため、かなり面倒でした。

于 2015-11-05T18:51:58.297 に答える