复制Facebook的共享代码时出现“程序中的意外@”[关闭]

Posted

技术标签:

【中文标题】复制Facebook的共享代码时出现“程序中的意外@”[关闭]【英文标题】:"Unexpected @ in program" when copying Facebook's Share Code [closed] 【发布时间】:2014-10-09 19:41:20 【问题描述】:

我从 Facebook 的开发者网站复制了代码,以将 Facebook 分享功能集成到我的应用中:

NSMutableDictionary<FBGraphObject> *object = [FBGraphObject openGraphObjectForPostWithType:@whatsyourinneragefb:inner_age
                                        title:@Sample Inner Age
                                        image:@https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png
                                          url:@http://samples.ogp.me/578838518886846
                                  description:@];;

[FBRequestConnection startForPostWithGraphpath:@"me/objects/whatsyourinneragefb:inner_age"
                                   graphObject:object
                             completionHandler:^(FBRequestConnection *connection,
                                                 id result,
                                                 NSError *error) 
                                 // handle the result
                             ];  

但是,@whatsyourinneragefb 之前的“@”会产生错误 "Unexpected @ in program。另外,@https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png 之类的行有白色的@https:,其余的突出显示为绿色,就好像它是一个评论一样,所以我觉得即使上面的错误消失了,这也行不通。所以:

如何解决第一个错误?

代码是否可以正常工作,还是需要调整才能正常工作?

感谢所有帮助。

【问题讨论】:

你从哪里复制的? 我强烈建议先阅读至少objective-c 语言的基础知识,然后再在SO 上提出这样的问题。我建议阅读:***.com/help/how-to-ask 我在 Facebook 开发者网站的“我的应用程序”中转到我的应用程序,然后转到 Open Graph,然后单击“获取代码”。 完全同意David 如果您不了解基础知识,那么您需要从头开始。永远不要只是复制和粘贴代码自己输入,因为这样您就可以了解它的作用,并且您可以发现代码中的错误(如果有),如果这是复制的代码,则存在。 感谢大卫和大力水手的建议 - 我以后会接受它。我肯定更愿意知道为什么我在我的应用程序中放入的代码,而不是仅仅在那里敲打它。 【参考方案1】:

Objective-C 中的字符串文字看起来像 @"this"

例如,将@Sample Inner Age 更改为@"Sample Inner Age"

【讨论】:

我也会为“inner_age”这样做吗?这现在会产生错误“使用未声明的标识符'Inner age'” 是的,比如@"whatsyourinneragefb:inner_age"【参考方案2】:

我不确定您从哪里复制了该代码;我在 Facebook 开发者网站上找不到任何对“Inner Age”的引用。您可能误解了如何编辑他们提供的源代码。使用您注入的数据的正确实现将为字符串文字提供这样的引号(您还缺少描述):

NSMutableDictionary<FBGraphObject> *object = [FBGraphObject openGraphObjectForPostWithType:@"whatsyourinneragefb:inner_age"
                                    title:@"Sample Inner Age"
                                    image:@"https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png"
                                      url:@"http://samples.ogp.me/578838518886846"
                              description:@"<you're missing a description>"];

[FBRequestConnection startForPostWithGraphPath:@"me/objects/whatsyourinneragefb:inner_age"
                               graphObject:object
                         completionHandler:^(FBRequestConnection *connection,
                                             id result,
                                             NSError *error) 
                             // handle the result
                         ];  

【讨论】:

以上是关于复制Facebook的共享代码时出现“程序中的意外@”[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

登录 Facebook 时出现 com.facebook.sdk 错误 2

在 Android Studio 中加载 Facebook 登录按钮时出现异常

使用 Facebook Graph API 提取用户信息时出现身份验证错误

使用 facebook API 的 stream.publish 方法时出现权限错误

从 wp8 应用程序在 facebook 上分享消息时出现权限屏幕

共享内存程序中的意外输出