Cocoapods: _1.2.1_ trunk push - ERROR | [iOS] unknown: Encountered an unknown error (Pod::DSLError) during validation.

Created on 12 May 2017  路  13Comments  路  Source: CocoaPods/CocoaPods

Report

What did you do?

I call:
pod trunk push BxObjC.podspec --allow-warnings --verbose

Pod::Spec.new do |s|

  s.name         = "BxObjC"
  s.version      = "1.1.21"
  s.summary      = "Objective-C library for all"
  s.description  = "This framework will help iOS developers simplify development"
  s.homepage     = "https://github.com/ByteriX/BxObjC"
  s.license      = { :type => "MIT", :file => "LICENSE" }
  s.author       = { "Sergey Balalaev" => "[email protected]" }
  s.platform     = :ios, "8.0"
  s.ios.deployment_target = "8.0"
  s.source       = { :git => "https://github.com/ByteriX/BxObjC.git", :tag => "1.1.21" }
s.subspec 'Common' do |cs|

    cs.frameworks = ["Foundation", "UIKit"]
    cs.resources = "**/iBXCommon/Resources/**/*.strings"
    cs.public_header_files = "**/iBXCommon/Frameworks/**/*.h", "**/iBXCommon/Sources/**/*.h"

    cs.source_files  = "**/iBXCommon/Frameworks/**/*.{h,m,c}", "**/iBXCommon/Sources/**/*.{h,m,c}"
    cs.exclude_files = "**/**Tests/**/*.*", "**/**Test/**/*.*"
    cs.requires_arc = ["**/BxPushNotificationMessageQueue.m"]
end

s.subspec 'Data' do |ds|
    ds.dependency 'BxObjC/Common'
    ds.dependency 'XMLDictionary', '1.4'

    ds.frameworks = ["Foundation", "UIKit"]
    ds.public_header_files = "**/iBXData/Frameworks/**/*.h", "**/iBXData/Sources/**/*.h"

    ds.source_files  = "**/iBXData/Frameworks/**/*.{h,m,c}", "**/iBXData/Sources/**/*.{h,m,c}"
    ds.exclude_files = "**/**Tests/**/*.*", "**/**Test/**/*.*"
    ds.requires_arc = []
end

s.subspec 'DB' do |dbs|
    dbs.dependency 'BxObjC/Common'

    dbs.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => '$(inherited) SQLITE_CORE=1 SQLITE_UNICODE_ENABLE=1 SQLITE_ENABLE_FTS4=1 SQLITE_ENABLE_FTS4_PARENTHESIS=1' }
    dbs.frameworks = ["Foundation", "UIKit"]
    dbs.public_header_files = "**/iBXDB/Frameworks/**/*.h", "**/iBXDB/Sources/**/*.h"

    dbs.source_files  = "**/iBXDB/Frameworks/**/*.{h,m,c}", "**/iBXDB/Sources/**/*.{h,m,c}"
    dbs.exclude_files = "**/**Tests/**/*.*", "**/**Test/**/*.*"
    dbs.requires_arc = []
end

s.subspec 'Map' do |ms|
    ms.dependency 'BxObjC/Common'
    ms.dependency 'BxObjC/Data'

    ms.frameworks = ["Foundation", "UIKit", "MapKit", "CoreLocation"]
    ms.public_header_files = "**/iBXMap/Frameworks/**/*.h", "**/iBXMap/Sources/**/*.h"

    ms.source_files  = "**/iBXMap/Frameworks/**/*.{h,m,c}", "**/iBXMap/Sources/**/*.{h,m,c}"
    ms.exclude_files = "**/**Tests/**/*.*", "**/**Test/**/*.*"
    ms.requires_arc = []
end

s.subspec 'Vcl' do |vs|
    vs.dependency 'BxObjC/Common'
    vs.dependency 'BxObjC/Data'
    vs.dependency 'MBProgressHUD'

    vs.frameworks = ["Foundation", "UIKit", "MapKit", "CoreLocation"]
    vs.resources = "**/iBXVcl/**/*.{png,xib}"
    vs.public_header_files = "**/iBXVcl/Frameworks/**/*.h", "**/iBXVcl/Sources/**/*.h"

    vs.source_files  = "**/iBXVcl/Frameworks/**/*.{h,m,c}", "**/iBXVcl/Sources/**/*.{h,m,c}"
    vs.exclude_files = "**/**Tests/**/*.*", "**/**Test/**/*.*"

    vs.requires_arc = [
        "**/BxIconWorkspace**.m",
        "**/Navigation/**/*.*"
    ]
end


end
````

## What did you expect to happen?

pushing to public repo

## What happened instead?

Updating spec repomaster`
Validating podspec
BxObjC (1.1.21) - Analyzing on iOS 8.0 platform.
Preparing

Analyzing dependencies

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

Fetching external sources
-> Fetching podspec for BxObjC from /Users/balalaev-work/Projects/BxObjC/BxObjC.podspec

Resolving dependencies of

Comparing resolved specification to the sandbox manifest
A BxObjC
A MBProgressHUD
A XMLDictionary

Downloading dependencies

-> Installing BxObjC (1.1.21)

Git download
Git download
$ /usr/bin/git clone https://github.com/ByteriX/BxObjC.git
/var/folders/4q/2c3kg47s0vn9r_gjjjxm95pm0000gp/T/d20170512-61832-5dnjfg --template= --single-branch
--depth 1 --branch 1.1.21
Cloning into '/var/folders/4q/2c3kg47s0vn9r_gjjjxm95pm0000gp/T/d20170512-61832-5dnjfg'...
Note: checking out '2c386d706bf7902c9b2f3b8332d8731699ceafef'.

 You are in 'detached HEAD' state. You can look around, make experimental
 changes and commit them, and you can discard any commits you make in this
 state without impacting any branches by performing another checkout.

 If you want to create a new branch to retain commits you create, you may
 do so (now or later) by using -b with the checkout command again. Example:

   git checkout -b <new-branch-name>

-> BxObjC (1.1.21)
- ERROR | [iOS] unknown: Encountered an unknown error (Pod::DSLError
/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-core-1.2.1/lib/cocoapods-core/specification.rb:661:in rescue in _eval_podspec' /Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-core-1.2.1/lib/cocoapods-core/specification.rb:654:in_eval_podspec'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-core-1.2.1/lib/cocoapods-core/specification.rb:562:in block in from_string' /Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-core-1.2.1/lib/cocoapods-core/specification.rb:559:inchdir'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-core-1.2.1/lib/cocoapods-core/specification.rb:559:in from_string' /Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-core-1.2.1/lib/cocoapods-core/specification.rb:542:infrom_file'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/sandbox/podspec_finder.rb:15:in block in podspecs' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/sandbox/podspec_finder.rb:14:ineach'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/sandbox/podspec_finder.rb:14:in podspecs' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader.rb:82:indownload_request'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader/cache.rb:171:in download' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader/cache.rb:154:inblock in uncached_pod'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader/cache.rb:181:in in_tmpdir' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader/cache.rb:153:inuncached_pod'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader/cache.rb:33:in download_pod' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/downloader.rb:42:indownload'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer/pod_source_installer.rb:120:in download_source' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer/pod_source_installer.rb:60:ininstall!'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:357:in install_source_of_pod' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:322:inblock (2 levels) in install_pod_sources'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/user_interface.rb:85:in titled_section' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:321:inblock in install_pod_sources'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:313:in each' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:313:ininstall_pod_sources'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:159:in block in download_dependencies' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/user_interface.rb:64:insection'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:157:in download_dependencies' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:408:inblock in download_pod'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:408:in each' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:408:indownload_pod'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:304:in block in perform_extensive_analysis' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:298:ineach'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:298:in perform_extensive_analysis' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:79:invalidate'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-trunk-1.2.0/lib/pod/command/trunk/push.rb:122:in validate_podspec' /Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-trunk-1.2.0/lib/pod/command/trunk/push.rb:66:inrun'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/claide-1.0.1/lib/claide/command.rb:334:in run' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:52:inrun'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/bin/pod:55:in <top (required)>' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/pod:23:inload'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/pod:23:in <main>' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:ineval'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `

'
) during validation.

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

/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-trunk-1.2.0/lib/pod/command/trunk/push.rb:124:in validate_podspec' /Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/cocoapods-trunk-1.2.0/lib/pod/command/trunk/push.rb:66:inrun'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0@global/gems/claide-1.0.1/lib/claide/command.rb:334:in run' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:52:inrun'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.1/bin/pod:55:in <top (required)>' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/pod:23:inload'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/pod:23:in <main>' /Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:ineval'
/Users/balalaev-work/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in <main>'
```

Project that demonstrates the issue

https://github.com/ByteriX/BxObjC
You can call:
"sh build.sh 1.1.21"

Other details

if you call
pod lib lint BxObjC.podspec --allow-warnings --verbose

it works correct and validation will be success

if you call
pod _1.1.1_ spec lint BxObjC.podspec --allow-warnings --verbose

will be success

if you call
pod _1.2.1_ spec lint BxObjC.podspec --allow-warnings --verbose

will be fail

awaiting input

Most helpful comment

Good question, the error is definitely a bad message - it doesn't actually say what is wrong. Could be a deprecated and removed attribute for example

All 13 comments

I seem to be having the same issue. Any updates?

EDIT: I seemed to be able to fix it. My issue was that I pushed an update to my git repo that fixed an issue in my pod spec where I accidentally used apostrophes instead of single quotes, but I forgot to rerelease, so my pod spec was still pointing to an older version of my git repo.

Looks like you probably have a syntax error in your podspec.

Looks like you probably have a syntax error in your podspec.

Why then 'lib lint' works correctly?
I tryed to change podspec to https://guides.cocoapods.org/making/specs-and-specs-repo.html maximum, but it didn't have result

lib lint runs against your local version, spec lint runs against your git tag - those could be different versions of your podspce

it's 1.2.1 feature?
Because from 1.1.1 spec lint works correct

Good question, the error is definitely a bad message - it doesn't actually say what is wrong. Could be a deprecated and removed attribute for example

So, I found out case and issue.
In the repository I have file BxObjC.Template.podspec it is invalid specfile for creating valid BxObjC.podspec, when I have removed this then spec lint have been work without this error. Why external file with .podspec extention have affected to trunk push?

me too锛孒ow to solve this error

I just renamed BxObjC.Template.podspec to BxObjC.templatespec and all work now as is as in a past

I had this issue, turns out my podspec had a syntax error but the fix I made was not pushed to my remote (so lib lint was not showing the syntax error). Make sure your remote's podspec is the correct one!
Thanks @orta for the suggestion!

remove all origin tag ,then add new a tag

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

This issue will be auto-closed because there hasn't been any activity for a few months. Feel free to open a new one if you still experience this problem :+1:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lzwjava picture lzwjava  路  3Comments

sonu5 picture sonu5  路  3Comments

soleares picture soleares  路  3Comments

steffendsommer picture steffendsommer  路  3Comments

Mingmingmew picture Mingmingmew  路  3Comments