16

よく似たアプリがいくつかあります。したがって、すべての共通の再利用可能なコードを含む 1 つまたはいくつかのプライベート ポッドを作成したいと思います。私の最初のバージョンには、AFNetworking を使用し、KeychainItemWrapper も使用するいくつかのネットワーク機能が含まれています。

Pod::Spec.new do |s|

  s.name          = 'CommonLib'
  s.version       = '0.0.1'
  s.homepage      = '****'
  s.summary       = 'My Common lib'
  s.description   = 'Library with common code'
  s.author        = { "Rens Verhage" => "*****" }
  s.platform      = :ios, '5.0'
  s.source        = { :git => "ssh://****/CommonLib.git", :tag => s.version.to_s }
  s.source_files  = 'CommonLib/*.{h,m}'
  s.requires_arc  = true

  s.dependency 'AFNetworking', '~> 1.3.1'
  s.dependency 'KeychainItemWrapper', '~> 1.2'
end

pod spec lint CommonLib.podspec を実行すると、いくつかの WARN および NOTE メッセージが表示されます。

 -> CommonLib (0.0.1)
    - WARN  | Missing required attribute `license`.
    - WARN  | Missing license type.
    - NOTE  | [xcodebuild]  AFNetworking/AFNetworking/AFHTTPClient.h:84:9: warning: SystemConfiguration framework not found in project, or not included in precompiled header. Network reachability functionality will not be available. [-W#pragma-messages]
    - NOTE  | [xcodebuild]  AFNetworking/AFNetworking/AFHTTPClient.h:89:9: warning: MobileCoreServices framework not found in project, or not included in precompiled header. Automatic MIME type detection when uploading files in multipart requests will not be available. [-W#pragma-messages]
    - NOTE  | [xcodebuild]  CommonLib/CommonLib/NSArray+NSArray_PerformSelector.m:19:35: warning: performSelector may cause a leak because its selector is unknown [-Warc-performSelector-leaks]
    - NOTE  | [xcodebuild]  CommonLib/CommonLib/NSArray+NSArray_PerformSelector.m:19:51: note: used here
    - WARN  | [iOS] Unable to find a license file

Analyzed 1 podspec.

[!] The spec did not pass validation.

ERROR メッセージはありませんが、spec は検証に合格していないことに注意してください。私はここからどこへ行くべきか本当にわかりません。SystemConfiguration フレームワークと MobileCoreServices フレームワークが欠落しているというメッセージは、私にはエラーのように見えます。追加してこの警告を修正しようとしました

s.ios.frameworks = 'MobileCoreServices', 'SystemConfiguration'

私のpodspecに、しかしそれはうまくいきません。

したがって、2 つの質問を 1 つにまとめます。

  1. Podspec が検証に合格しない原因となっているエラーは何ですか?
  2. フレームワークが見つからないという警告を修正するにはどうすればよいですか?
4

3 に答える 3

14

最近、この問題が発生し、追加すると問題が--allow-warnings修正されました。

pod spec lint MyProject.podspec --allow-warnings
于 2015-03-31T07:39:04.113 に答える
8

Ok。Cocoapods の連中から回答を得ました。Podspec の検証は、すべてのエラーと警告で失敗します。警告で失敗しても、プロジェクトが Pod として失敗するわけではありません。警告を無視するだけでよいことがわかりました。

AFNetworking については、バージョン 2.0 で問題が解決されています。

于 2013-10-08T14:32:48.933 に答える
0

[更新しました]

cocoapods ガイドに従って podspecファイルを構成し、エラーが発生した場合はエラーを解決し、検証中にエラーを解決します。警告のみが表示され、無視したい場合は、次のコマンドを実行して実行できます。

警告付きの podspec の検証

最後に追加--allow-warningsすると、podspec が強制的に検証されます。

pod spec lint your_project_name.podspec --allow-warnings

警告付きで podspec リポジトリをプッシュする

次のコマンドを実行しない場合は、リポジトリを追加したことを確認してください (既に追加している場合は無視してください)。

pod repo add your-pods pods_git_url

ポッドスペックをレポにプッシュするには、これを使用します

pod repo push your-pods your_project_name.podspec --allow-warnings
于 2019-09-02T08:34:13.690 に答える