- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我按照 facebook 文档从这里开发邀请 friend 到 ios 应用程序:App Invites for iOS ...这是我的代码:
@implementation ViewController
FBSDKAppInviteContent *content;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
content =[[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:@"https://fb.me/1569122770021958"]];
//optionally set previewImageURL
content.previewImageURL = [NSURL URLWithString:@"http://www.jpl.nasa.gov/spaceimages/images/mediumsize/PIA17011_ip.jpg"];
}
然后我定义了一个 Action 按钮如下:
- (IBAction)InviteFriends:(id)sender {
// present the dialog. Assumes self implements protocol `FBSDKAppInviteDialogDelegate`
[FBSDKAppInviteDialog showWithContent:content delegate:sender];
}
但是我收到如下错误:
2015-04-30 19:09:06.850 LoopApp[6338:120645] -[UIButton appInviteDialog:didCompleteWithResults:]: unrecognized selector sent to instance 0x7fbdd870f9d0
2015-04-30 19:09:06.852 LoopApp[6338:120645] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton appInviteDialog:didCompleteWithResults:]: unrecognized selector sent to instance 0x7fbdd870f9d0'
它说我还没有定义 appInviteDialog:didCompleteWithResults:
所以我添加了这个方法如下:
- (void) appInviteDialog: (FBSDKAppInviteDialog *)appInviteDialoge didFailWithError:(NSError *)error
{
NSLog(@"Session connection failed with error %@",[error self]);
}
我可以执行所有步骤来选择我的 friend ,当我按下按钮分享它时,它会分享,但当它想要返回到应用程序崩溃时,它会给我与上面相同的错误。如果有人能帮助我解释为什么会这样,我将不胜感激。
-[UIButton appInviteDialog:didCompleteWithResults:]: unrecognized selector sent to instance 0x7fabc3dbb840
2015-04-30 19:23:29.305 LoopApp[6423:125823] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton appInviteDialog:didCompleteWithResults:]: unrecognized selector sent to instance 0x7fabc3dbb840'
*** First throw call stack:
(
0 CoreFoundation 0x000000010ed0ea75 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010e5febb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010ed15d1d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x000000010ec6d9dc ___forwarding___ + 988
4 CoreFoundation 0x000000010ec6d578 _CF_forwarding_prep_0 + 120
5 LoopApp 0x000000010dfb71e1 -[FBSDKAppInviteDialog _invokeDelegateDidCompleteWithResults:] + 297
6 LoopApp 0x000000010dfb70a5 -[FBSDKAppInviteDialog _handleCompletionWithDialogResults:error:] + 67
7 LoopApp 0x000000010dfb6ed9 __28-[FBSDKAppInviteDialog show]_block_invoke + 131
8 LoopApp 0x000000010df92f51 -[FBSDKApplicationDelegate applicationDidBecomeActive:] + 194
9 CoreFoundation 0x000000010ecde7fc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
10 CoreFoundation 0x000000010ebde204 _CFXNotificationPost + 2484
11 Foundation 0x000000010e158df8 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
12 UIKit 0x000000010f33bfc8 -[UIApplication _stopDeactivatingForReason:] + 363
13 UIKit 0x000000010f350ea2 -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:] + 2648
14 FrontBoardServices 0x0000000112831243 __31-[FBSSerialQueue performAsync:]_block_invoke + 16
15 CoreFoundation 0x000000010ec43c7c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
16 CoreFoundation 0x000000010ec399c5 __CFRunLoopDoBlocks + 341
17 CoreFoundation 0x000000010ec39785 __CFRunLoopRun + 2389
18 CoreFoundation 0x000000010ec38bc6 CFRunLoopRunSpecific + 470
19 GraphicsServices 0x0000000113230a58 GSEventRunModal + 161
20 UIKit 0x000000010f341580 UIApplicationMain + 1282
21 LoopApp 0x000000010df88f93 main + 115
22 libdyld.dylib 0x00000001114ff145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
最佳答案
问题是您将按钮设置为 FBSDKAppInviteDialog 的委托(delegate)。 UIButton 不符合 FBSDKAppInviteDialogDelegate 协议(protocol),因此崩溃。
要解决此问题,请更改您的代码,使委托(delegate)为 nil 或 self(如果 self 符合 FBSDKAppInviteDialogDelegate 协议(protocol)):
- (IBAction)InviteFriends:(id)sender {
[FBSDKAppInviteDialog showWithContent:content delegate:self];
}
关于ios - 使用 iOS 8.2 "unrecognized selector sent to instance"在 Facebook 中邀请 friend 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963838/
我想知道将来对我来说最简单的方法是什么,可以使查询既有效又不那么复杂。 我应该像这样保存双向关系吗 from_id=1, to_id=2from_id=2, to_id=1 或者只创建一个唯一的行 f
假设您有一个拥有十亿用户的社交网络。在每个用户的页面上,您想要显示该用户的 friend 数、 friend 的 friend 等等,最多五度。友谊是相互的。计数不需要立即更新,但它们应该是精确的。
public void notMyFriend(Student student1) { System.out.println("Friends who are not my frien
我有如下3个表格 用户 - id integer primary_key - user_name friend - id autoincrement primary_key - user1 integ
如何从 Friends 表中获取 friend 列表以及我 friend 的 friend 数(不包括我的 friend 数) friend 表"tbl_users_friends 字段 1:id字段
我的 MySQL 表结构是这样的。 USER int id varchar username FRIEND_LIST int user_id int friend_id 对于每个 friend 关系,
假设 a,b,c 和 b,d,e 和 c,f,g 和 a,e,g,h 是 friend 。所以 获取共同好友 b/w a&b: MATCH (me:User {username:'a'}) -[r:F
我正在开发“可能的 friend ”功能。我需要显示所有不是我 friend 的 friend 的 friend ,也不要发送我或没有我的待处理请求 FRIENDSHIPS user_id frien
如果两个用户是 friend ,我在“ friend ”表中有一个条目,如下所示: table: friends ------------------------ uid1
我有一个 friend 表,用于跟踪数据库中的关系 - 我将一个查询与子查询放在一起,该子查询从 friend 的 friend 那里获取个人资料信息 我的 friend 表如下所示 - id 双向出
我想结交 friend 的 friend 的 friend 。我得到了结果,但我不确定我的查询是否正确。我正在使用嵌套选择。 我的问题是: 查询是否正确? 我如何使用 join 执行此查询? 这是我的
假设我有一个包含 friend 属性的用户对象。这个 friends 属性是其他用户对象的数组,因此是你的 friend 。找到你 friend 的 friend 但不是你 friend 的最快算法是
我想结交我的 friend 以及 friend 的 friend ,但仅限于二级 friend 我的表结构是这样的 user_id friend_user_id 1 2 1
为了了解使用 Neo4J 建立 friend 关系的优势,我在 MySQL 数据库上创建了一张用于 Persons 的表(“Persons”,20900 个数据集): id | name --
假设我有一个名为“ friend ”的表,对于每个友谊,我添加两个条目。例如,如果用户 1 和 2 是 friend ,我们将有: uid1 uid2 ---------- 1 2 2 1
在我的图形数据库中,我有 Twig 和树叶。分支可以“包含”叶子,分支可以“包含”分支。 如何使用 Gremlin 找到与给定分支直接或间接相关的所有叶子? 我让这个在 Cypher 中工作: STA
我正在尝试使用 iPhone Facebook SDK 获取我 friend 的 friend 列表。我尝试了一种使用 FQL 和 Graph API 的方法,但在这两种情况下我都遇到了错误: "Ca
我有这个 MySQL 表: 假设我以用户 1 的身份登录,正在浏览用户 2 的个人资料。由于我们是共同的 friend (1 是 2 的 friend ,2 是 1 的 friend ),我需要回应“
我想得到我 friend 的 friend 不是我 friend 的 friend 。我有一张这样的 table :用户 friend (idUser,idUserFriend) 我在想这样的事情:
我有这个 Cypher 查询... match (p:Person{userid:8432})-[r:friends_with]->(p1:Person)-[r2:friends_with]->(p2
我是一名优秀的程序员,十分优秀!