我使用Facebook iOS SDK创建自定义故事,该应用程序使用Swift编写。我基于我的代码围绕他们的文档示例https://developers.facebook.com/docs/ios/open-graph#createobject。使用Swift创建Facebook Open Graph对象
一切顺利,直到我必须创建FBGraphObject
NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
在斯威夫特我已经重写此块为:
var object = FBGraphObject.openGraphActionForPost()
// specify that this Open Graph object will be posted to Facebook
object.setObject(true, forKey: "provisionedForPost")
// for og:title
object.setObject(description["title"]!, forKey: "title")
// for og:type, this corresponds to the Namespace you've set for your app and the object type name
object.setObject("bppridereport:ride", forKey: "type")
// for og:description
object.setObject(description["description"]!, forKey: "description")
FBRequestConnection.startForPostOpenGraphObject(object, completionHandler: { (connection:FBRequestConnection!, result:AnyObject!, error:NSError!) -> Void in
if error == nil {
let objectId = result["id"]
} else {
NSLog("Error posting the Open Graph object to the Object API:", error);
}
})
这使我的错误:的NSMutableDictionary是不相同到FBOpenGraphObject,有什么有意义的,阅读文档FBOpenGraphObject只是一个打扮的NSMutableDictionary,所以我把对象作为FBOpenGraphObject来解决错误
var object = FBGraphObject.openGraphActionForPost() as FBOpenGraphObject
问题是,当我现在编译并运行应用程序时,它崩溃在这一行......我很困惑。在那里很少有涵盖Facebook SDK的Swift实现。任何想法为什么会发生这种情况?我没有使用Facebook的API
什么是它崩溃时的错误信息? – 2014-11-22 02:13:17
@Mike的Taverne它看起来像这样 - > **线程1:信号SIGABRT **上变种对象= FBGraphObject.openGraphActionForPost()作为FBOpenGraphObject [错误screengrab](https://dl.dropboxusercontent.com/u /2325675/stackoverflow/Social_swift%20error.png) ** ** swift_dynamicCastObjCProtocolUnconditional [错误screengrab](https://dl.dropboxusercontent.com/u/2325675/stackoverflow/Social_swift.png) – 2014-11-22 09:25:36
任何想法@MikeTaverne ? – 2014-11-24 20:28:20