Search code examples
iosrubycocoapodspodspec

Spec Linting Fails when test_specs are added


Whenever I run pod spec lint, I get an error.

This is the log report:

 CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local
  because checking is only performed in repo update
    BitLabs (3.1.9) - Analyzing on iOS 11.0 platform.
  - Generating Info.plist file at
  `../../../../var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/App/App-Info.plist`
  Preparing

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-App`: (``)

Fetching external sources
-> Fetching podspec for `BitLabs` from `/Users/omaraad/XCode/bitlabs-ios-sdk/BitLabs.podspec`

Resolving dependencies of 
  CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path: all_pods_versions_d_a_2.txt exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.8.0/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: all_pods_versions_2_8_b.txt exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.0.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.1.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.1.2/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.2.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.2.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/1.2.2/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.1.0-RC/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.1.0-rc.1/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.2.0-RC/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.2.1-RC/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.2.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.3.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.3.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/2.4.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.0.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.0.2/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.0.3/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.0.4/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.2/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.3/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.4/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.5/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.6/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.7/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.8/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.9/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.10/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.11/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/3.1.12/OHHTTPStubs.podspec.json exists! Returning
  local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.0.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.0.2/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.2.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.2.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.3.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.4.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.5.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.5.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.6.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.7.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.7.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/4.8.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/5.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/5.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/5.2.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/5.2.1/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/5.2.2/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/5.2.3/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/6.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/6.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/6.2.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/7.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/8.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.0.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.8.0/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.7.1/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.7.0/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.6.4/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.6.3/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.6.2/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.6.1/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.6.0/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/d/a/2/Alamofire/5.5.0/Alamofire.podspec.json
  exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update
  CDN: trunk Relative path:
  Specs/2/8/b/OHHTTPStubs/9.1.0/OHHTTPStubs.podspec.json exists! Returning local
  because checking is only performed in repo update

Comparing resolved specification to the sandbox manifest
  A Alamofire
  A BitLabs
  A OHHTTPStubs

Downloading dependencies

-> Installing Alamofire (5.8.0)
  > Copying Alamofire from
  `/Users/omaraad/Library/Caches/CocoaPods/Pods/Release/Alamofire/5.8.0-0e92e`
  to
  `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Alamofire`

-> Installing BitLabs (3.1.9)
  > Copying BitLabs from
  `/Users/omaraad/Library/Caches/CocoaPods/Pods/External/BitLabs/9f7bb52e300534146668f1a4ad801343-2f9d3`
  to
  `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/BitLabs`

-> Installing OHHTTPStubs (9.1.0)
  > Copying OHHTTPStubs from
  `/Users/omaraad/Library/Caches/CocoaPods/Pods/Release/OHHTTPStubs/9.1.0-90eac`
  to
  `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/OHHTTPStubs`
  - Running pre install hooks
  - Writing Lockfile in
  `../../../../var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Podfile.lock`
  - Writing Manifest in
  `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Manifest.lock`

Generating Pods project
  - Creating Pods project
  - Installing files into Pods project
    - Adding source files
    - Adding frameworks
    - Adding libraries
    - Adding resources
    - Linking headers
  - Installing Pod Targets
    - Installing target `Alamofire` iOS 10.0
      - Generating module map file at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Target
      Support Files/Alamofire/Alamofire.modulemap`
      - Generating umbrella header at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Target
      Support Files/Alamofire/Alamofire-umbrella.h`
      - Generating Info.plist file at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Target
      Support Files/Alamofire/Alamofire-Info.plist`
      - Generating dummy source at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Target
      Support Files/Alamofire/Alamofire-dummy.m`
    - Installing target `BitLabs` iOS 11.0
      - Generating Info.plist file at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Target
      Support Files/BitLabs/BitLabs-UI-UITests-Info.plist`
      - Generating Info.plist file at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/Target
      Support Files/BitLabs/BitLabs-Unit-UnitTests-Info.plist`
      - Generating Info.plist file at
      `../../../../private/var/folders/j2/vl81r6c96f986cc4vmpdrcn00000gn/T/CocoaPods-Lint-20231103-96750-1htifqf-BitLabs/Pods/AppHost/BitLabs-AppHost-Info.plist`
 -> BitLabs (3.1.9)
    - ERROR | [iOS] unknown: Encountered an unknown error (Unable to install the `BitLabs` pod, because the `BitLabs-UI-UITests` target in Xcode would have no sources to compile.
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:1159:in `block in validate_targets_contain_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:1157:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:1157:in `validate_targets_contain_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:66:in `block in install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface.rb:149:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:40:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:115:in `block in install_pod_targets'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `map'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `install_pod_targets'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:32:in `block in install_all_pod_targets'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface.rb:149:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:31:in `install_all_pod_targets'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:19:in `generate!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:320:in `block in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:315:in `create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:307:in `generate_pods_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:633:in `block in install_pod'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:633:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:633:in `install_pod'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:404:in `block in perform_extensive_analysis'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:396:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:396:in `perform_extensive_analysis'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/validator.rb:129:in `validate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command/spec/lint.rb:90:in `block in run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command/spec/lint.rb:71:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command/spec/lint.rb:71:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
) during validation.

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 1 error.

/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command/spec/lint.rb:107:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

Any idea why that is happening?

I added one Unit test_spec and one UI test_spec to the PodSpec. Testing everything manually, they all work. The Tests succeed. However, spec linting fails.

Worth to know

  1. If I comment out the test_specs, linting works fine. If I comment only one test_spec and leave the other, it still does the same regardless of which test_spec.

  2. The UI test_spec is run on an app_spec. This spec doesn't have a default Main Storyboard, so after I run pod install, I have to assign the it manually(no idea how to assign it from the PodSpec file).

  3. Running pod lib lint doesn't give the same error as pod spec lint. It seems to work fine, but UI Tests fail. I am assuming because of point (2) above.

The Podspec file:

Pod::Spec.new do |spec|
    spec.name             = 'BitLabs'
    spec.version          = '3.1.9'
    spec.summary          = 'BitLabs - monetize your app with rewarded surveys.'
    spec.description      = 'BitLabs offers the opportunity to monetize your app with rewarded surveys easily.'
    spec.homepage         = 'https://github.com/BitBurst-GmbH/bitlabs-ios-sdk'
    # s.screenshots       = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
    spec.license          = 'Commercial'
    spec.author           = { 'BitBurst GmbH' => '[email protected]' }
    spec.source           = { :git => 'https://github.com/BitBurst-GmbH/bitlabs-ios-sdk.git', :tag => spec.version.to_s }
    # s.social_media_url  = 'https://twitter.com/<TWITTER_USERNAME>'
    
    spec.swift_version = '5.0'
    spec.ios.deployment_target = '11.0'
    spec.dependency 'Alamofire', '~> 5.5'
    
    spec.default_subspec = 'Core'
    
    spec.subspec 'Core' do |core|
        core.source_files = 'BitLabs/Classes/{Shared,Core}/**/*.swift'
        core.resources = ['BitLabs/Resources/{Shared,Core}/**/*.xib', 'BitLabs/Localizations/**/*.strings', 'BitLabs/Resources/{Shared,Core}/**/*.xcassets']
    end
    
    spec.subspec 'Unity' do |unity|
        unity.source_files = 'BitLabs/Classes/{Shared,Unity}/**/*.swift'
        unity.resources = ['BitLabs/Resources/Shared/**/*.xib', 'BitLabs/Localizations/**/*.strings', 'BitLabs/Resources/Shared/**/*.xcassets']
    end
    
    spec.app_spec 'AppHost' do |host|
        host.source_files = 'BitLabs/AppHost/**/*.{swift}'
        host.resources = 'BitLabs/AppHost/**/*.{xib,storyboard}'
    end
    
    spec.test_spec 'UnitTests' do |test_spec|
      test_spec.source_files = 'BitLabs/Tests/Unit\ Tests/*.swift'
      test_spec.dependency 'OHHTTPStubs/Swift'
    end
    
    spec.test_spec 'UITests' do |test_spec|
        test_spec.test_type = :ui
        
        test_spec.requires_app_host = true
        test_spec.app_host_name = 'BitLabs/AppHost'
        test_spec.dependency 'BitLabs/AppHost'
        
        test_spec.source_files = 'BitLabs/Tests/UI\ Tests/*.swift'
    end
end

Solution

  • Add the Tests directory to the tagged version of the podspec.

    There is no Tests directory in the 3.1.9 version in the repo: https://github.com/BitBurst-GmbH/bitlabs-ios-sdk/tree/3.1.9/BitLabs.

    As opposed to pod lib lint which tests the local checked out version, pod spec lint looks at the podspec, checks out the specified tag, and tests that clean check out.