Reputation: 5160
I get and error when I run pod install:
2016-03-31 14:33:34.073 ruby[45438:513490] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 5860. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
/Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/cocoapods-0.39.0/lib/cocoapods/user_interface/error_report.rb:13:in `report': incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/cocoapods-0.39.0/lib/cocoapods/command.rb:61:in `report_error'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/claide-0.9.1/lib/claide/command.rb:374:in `handle_exception'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/claide-0.9.1/lib/claide/command.rb:315:in `rescue in run'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/claide-0.9.1/lib/claide/command.rb:303:in `run'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/cocoapods-0.39.0/lib/cocoapods/command.rb:47:in `run'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/gems/cocoapods-0.39.0/bin/pod:44:in `<top (required)>'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/bin/pod:23:in `load'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/bin/pod:23:in `<main>'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
from /Users/gabrielafonso/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'
I don't have any smart quotes in my Podfile (at least I don't see them). It happened to me after a git merge
.
Anyone know what could be happening here?
I'm using cocoapods 0.39.0
As @Jelly suggested I'm adding the report file:
# encoding: UTF-8
require 'rbconfig'
require 'cgi'
module Pod
module UserInterface
module ErrorReport
class << self
def report(exception)
<<-EOS
#{'――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――'.reversed}
### Command
```
#{original_command}
```
### Report
* What did you do?
* What did you expect to happen?
* What happened instead?
### Stack
```
CocoaPods : #{Pod::VERSION}
Ruby : #{RUBY_DESCRIPTION}
RubyGems : #{Gem::VERSION}
Host : #{host_information}
Xcode : #{xcode_information}
Git : #{git_information}
Ruby lib dir : #{RbConfig::CONFIG['libdir']}
Repositories : #{repo_information.join("\n ")}
```
### Plugins
```
#{plugins_string}
```
#{markdown_podfile}
### Error
```
#{exception.class} - #{exception.message}
#{exception.backtrace.join("\n")}
```
#{'――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――'.reversed}
#{'[!] Oh no, an error occurred.'.red}
#{error_from_podfile(exception)}
#{'Search for existing GitHub issues similar to yours:'.yellow}
#{issues_url(exception)}
#{'If none exists, create a ticket, with the template displayed above, on:'.yellow}
https://github.com/CocoaPods/CocoaPods/issues/new
#{'Be sure to first read the contributing guide for details on how to properly submit a ticket:'.yellow}
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
EOS
end
private
def `(other)
super
rescue Errno::ENOENT => e
"Unable to find an executable (#{e})"
end
def pathless_exception_message(message)
message.gsub(/- \(.*\):/, '-')
end
def markdown_podfile
return '' unless Config.instance.podfile_path && Config.instance.podfile_path.exist?
<<-EOS
### Podfile
```ruby
#{Config.instance.podfile_path.read.strip}
```
EOS
end
def error_from_podfile(error)
if error.message =~ /Podfile:(\d*)/
"\nIt appears to have originated from your Podfile at line #{Regexp.last_match[1]}.\n"
end
end
def remove_color(string)
string.gsub(/\e\[(\d+)m/, '')
end
def issues_url(exception)
message = remove_color(pathless_exception_message(exception.message))
'https://github.com/CocoaPods/CocoaPods/search?q=' \
"#{CGI.escape(message)}&type=Issues"
end
def host_information
product, version, build = `sw_vers`.strip.split("\n").map { |line| line.split(':').last.strip }
"#{product} #{version} (#{build})"
end
def xcode_information
version, build = `xcodebuild -version`.strip.split("\n").map { |line| line.split(' ').last }
"#{version} (#{build})"
end
def git_information
`git --version`.strip.split("\n").first
end
def installed_plugins
CLAide::Command::PluginManager.specifications.
reduce({}) { |hash, s| hash.tap { |h| h[s.name] = s.version.to_s } }
end
def plugins_string
plugins = installed_plugins
max_name_length = plugins.keys.map(&:length).max
plugins.map do |name, version|
"#{name.ljust(max_name_length)} : #{version}"
end.sort.join("\n")
end
def repo_information
SourcesManager.all.map do |source|
next unless source.type == 'file system'
repo = source.repo
Dir.chdir(repo) do
url = `git config --get remote.origin.url 2>&1`.strip
sha = `git rev-parse HEAD 2>&1`.strip
"#{repo.basename} - #{url} @ #{sha}"
end
end
end
def original_command
"#{$PROGRAM_NAME} #{ARGV.join(' ')}"
end
end
end
end
end
Upvotes: 1
Views: 2395
Reputation: 5160
So, the problem is that this file:
MyProject.xcodeproj/project.pbxproj
was corrupted. I updated it and now it works.
Upvotes: 0
Reputation: 4532
Usually this problem is caused by wrong quotes characters in Podfile
. Make sure you are using the right quotes (just deleting the old ones and writing them again from keyboard should do the trick). Also make sure you open and save the file as ASCII. If you use xCode this should not be a problem but with another text editor it could be.
Upvotes: 1