我已将现有的XCode项目转换为Rubymotion,但我仍然遇到了与Facebook-iOS-SDK集成的问题。
在我的Rakefile中:
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project'
require 'motion-cocoapods'
require File.join(File.dirname(__FILE__), 'version')
Motion::Project::App.setup do |app|
app.name = "My App"
app.pods do
dependency 'Facebook-iOS-SDK', '~> 1.2'
end
end
在我的app委托中,我为Facebook对象定义了一个属性:
def facebook
@facebook ||= Facebook.alloc.initWithAppId(FACEBOOK_APP_ID, andDelegate:self)
end
虽然我可以毫无问题地致电facebook.authorize()
,但当我询问Facebook会话是否有效时:
appDelegate = UIApplication.sharedApplication.delegate
if appDelegate.facebook.sessionValid?
# do something here...
end
我得到了这个例外:
(main)> Objective-C stub for message `isSessionValid' type `c@:' not precompiled. Make sure you properly link with the framework or library that defines this message.
以前有人遇到过这个吗?关于我如何解决这个问题的任何建议?
答案 0 :(得分:1)
您使用的是哪个版本的RubyMotion?我认为最新版本(1.23)解决了这个问题。尝试运行sudo motion update