1

我正在努力让 Dropbox Sync SDK 在我的 RubyMotion 应用程序中运行。我环顾四周,只发现另一个人在寻求帮助,但是他正在使用 Dropbox Core SDK,我无法像他那样修复它。这是我到目前为止所做的:

  1. 下载 Dropbox Sync SDK,将其移至 vendor/Dropbox.framework
  2. 添加app.vendor_project 'vendor/Dropbox.framework', :static, :products => ['Dropbox'], :headers_dir => 'Headers'app.frameworks += ['Security','QuartzCore']我的 Rakefile 中。
  3. Ran rake clean,然后rake得到以下输出。

体系结构 i386 的未定义符号:
“std::__1::basic_string, std::__1::allocator >::compare(char const*) const”,引用自:fetch_metadata(dbx_client*, HttpRequester&, dbx_path_val const&, bool, bool , bool) 在 Dropbox(sync.o)

...

如果需要,我可以提供完整的堆栈跟踪。知道我错过了什么吗?感谢船载任何帮助。

编辑:使用markrickert方法的堆栈跟踪:

:~/Development/simple|master⚡ ⇒  rake
rake aborted!
[!] Unable to find a specification for `Dropbox-Sync-API-SDK`.
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/resolver.rb:195:in `find_cached_set'
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/resolver.rb:153:in `block (2 levels) in find_dependency_specs'
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/user_interface.rb:113:in `message'
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/resolver.rb:152:in `block in find_dependency_specs'
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/resolver.rb:148:in `each'
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/resolver.rb:148:in `find_dependency_specs'
~/.rvm/gems/ruby-1.9.3-p448/gems/cocoapods-0.23.0/lib/cocoapods/resolver.rb:65:in `block (2 levels) in resolve'
...

^^ 需要运行pod setup来解决这个问题。

4

1 回答 1

2

您可能想查看Dropbox Sync Podspec 文件,以了解您需要做什么才能将其正确包含在文件中......或者您可以只使用 Cocoapod:

在您的 Gemfile 中:

gem "motion-cocoapods", '~> 1.3.0'
gem "cocoapods"

在你的 rakefile 中:

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'Whatever'

  app.pods do
    pod 'Dropbox-Sync-API-SDK'
  end
end

然后,当您运行rake pod:install它时,它应该会自动包含所有依赖项并编译并允许您使用 SDK。

于 2013-08-15T17:38:59.817 回答