Getting error to implement Google+ in iPhone - iphone

I am implementing Google+ in Objective-C iPhone using Google+ for iOS tutorials but when I click on sign-in button of Google+ I am getting this error
2013-01-14 14:28:46.168 googleplus_tutorials[2468:11303] GTMMethodCheckMethodChecker: Class WebMIMETypeRegistry does not conform to #protocol(NSObject), so won't be checked
2013-01-14 14:28:46.176 googleplus_tutorials[2468:11303] GTMMethodCheckMethodChecker: Class UIKeyboardCandidateUtilities does not conform to #protocol(NSObject), so won't be checked
2013-01-14 14:28:55.544 googleplus_tutorials[2468:11303] *** Assertion failure in -[GPPSignInButton createGPPSignIn], /Volumes/BuildData/pulse-data/agents/wpyk8.hot/recipes/211255319/base/googlemac/Shared/GooglePlus/Dev/GooglePlusPlatform/GPPSignInButton.m:155
2013-01-14 14:28:55.545 googleplus_tutorials[2468:11303] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'You must specify a client ID for GPPSignInButton.'
*** First throw call stack:
(0x141e012 0x1243e7e 0x141de78 0xcd9f35 0x448c4 0x44688 0x1257705 0x18e920 0x18e8b8 0x24f671 0x24fbcf 0x24ed38 0x1be33f 0x1be552 0x19c3aa 0x18dcf8 0x2301df9 0x2301ad0 0x1393bf5 0x1393962 0x13c4bb6 0x13c3f44 0x13c3e1b 0x23007e3 0x2300668 0x18b65c 0x2e22 0x2d55)
libc++abi.dylib: terminate called throwing an exception
using this link i am implementing google+ in my iphone
https://developers.google.com/+/mobile/ios/getting-started
and this is my code
- (void)viewDidLoad
{
[super viewDidLoad];
static NSString * const kClientId = #"711430132123.apps.googleusercontent.com";
GPPShare *share = [[GPPShare alloc] initWithClientID:kClientId];
signInButton = [[GPPSignInButton alloc]init];
signInButton.delegate = self;
signInButton.clientID = kClientId;
signInButton.scope = [NSArray arrayWithObjects:#"https://www.googleapis.com/auth/plus.moments.write",#"https://www.googleapis.com/auth/plus.me",nil];
AppDelegate *appDelegate = (AppDelegate *)
[[UIApplication sharedApplication] delegate];
appDelegate.signInButton = signInButton;
// Do any additional setup after loading the view, typically from a nib.
}
- (BOOL)application: (UIApplication *)application
openURL: (NSURL *)url
sourceApplication: (NSString *)sourceApplication
annotation: (id)annotation {
// Handle Google+ sign-in button URL.
if ([signInButton handleURL:url
sourceApplication:sourceApplication
annotation:annotation]) {
return YES;
}
return NO;
}
Kindly tell me why I am getting this error.

Have you tried with universalLib(libGooglePlusUniversal.a) of google+? After tracking your crash i think that you have not added the lib in your target.May be it will help you.

Related

Game Center Achievements and Cocos2d

I have a singleton class that handles all my game center stuff. I have set it to be a delegate of GKAchievementViewControllerDelegate.
I call the following method showAchievements
- (void) showAchievements
{
GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];
if (achievements != nil)
{
achievements.achievementDelegate = self.delegate;
[self.viewController presentModalViewController: achievements animated: YES];
}
}
and I implement the following
- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)achievements
{
[self.viewController dismissModalViewControllerAnimated: YES];
}
I set self.viewController with the following code before calling showAchievements
AppController* appDelegate = (AppController*)[[UIApplication sharedApplication] delegate];
[GameCenterManager instance].viewController = appDelegate.window.rootViewController;
The app crashes and the following shows up in the console log when I call showAchievements.
Jul 16 12:36:28 imac-3 myApp[17103] <Info>: 12:36:28.287698 com.apple.AVConference: GKSConnSettings: set server: {
"gk-cdx" = "17.173.254.218:4398";
"gk-commnat-cohort" = "17.173.254.220:16386";
"gk-commnat-main0" = "17.173.254.219:16384";
"gk-commnat-main1" = "17.173.254.219:16385";
}
At the point where I call showAchievements the user has been logged in successfully.
Any idea what I might be doing wrong here?
My suspicions were correct, I was trying to access the viewController in the wrong way. I should have been using the CCDirectorIOS object instead of the UIWindow object.
GKAchievementViewController is deprecated. Try using GKGameCenterViewController.

App Crash due to FB sdk 3.2

I am using new FB IOS SDK and app crash and get below error
Assertion failure in -FBCacheIndex
_updateEntryInDatabaseForKey:entry:, /Users/chrisp/src/ios-sdk/src/FBCacheIndex.m Terminating app due to
uncaught exception 'NSInternalInconsistencyException', reason: ''
* First throw call stack: (0x334072a3 0x3b0a197f 0x3340715d 0x33cdcb13 0x10b3b1 0x10b635 0x10a7bf 0x3b4b911f 0x3b4b899b 0x3b4b8895
0x3b4c7215 0x3b4c73b9 0x3b4eda11 0x3b4ed8a4)
I have made google and found solution like -lsqlite3.0 in other linker flag and add -lsqlite3 framework, FBsession missing. and i have done all but still i am getting same issue.
My code as below:
in FBClass.m which is NSObject type
-(void) getFriendListForInvitation
{
# try {
if (self.friendPickerController == nil) {
// Create friend picker, and get data loaded into it.
self.friendPickerController = [[FBFriendPickerViewController alloc] init];
self.friendPickerController.title = #"Invite Friends";
self.friendPickerController.delegate = self;
[self.friendPickerController clearSelection];
[self.friendPickerController loadData];
self.friendPickerController.itemPicturesEnabled = TRUE;
}
else{
[self.friendPickerController clearSelection];
[self.friendPickerController updateView];
}
self.friendPickerController.allowsMultipleSelection = FALSE;
// iOS 5.0+ apps should use [UIViewController presentViewController:animated:completion:]
// rather than this deprecated method, but we want our samples to run on iOS 4.x as well.
if([[[UIDevice currentDevice] systemVersion] intValue] >= 5.0)
[[[appdelegate.navigationController viewControllers] lastObject] presentViewController:self.friendPickerController animated:TRUE completion:nil];
else
[[[appdelegate.navigationController viewControllers] lastObject] presentModalViewController:self.friendPickerController animated:YES];
}
#catch (NSException *exception) {
NSLog(#"%#",[exception description]);
}
}
Please help me to solve this issue.....
thanks
Did you manage to solve the issue? I suffer from the same problem.
I determined that this exception is caused by the missing file cache.db in the directory facebook is addressing to. You can check that with the help of the simulator. The directory of the missing simulator file is:
/Users/<user name>/Library/Application Support/iPhone Simulator/6.1/Applications/<app id>/Library/Caches/DataDiskCache
Yet I do not know why the file is missing.
EDIT:
The only thing I came up with was to clear the session data from the app with simple two lines of code:
FBSession.activeSession = nil;
[[NSUserDefaults standardUserDefaults] removeObjectForKey:#"FBAccessTokenInformationKey"];
Unfortunately this solution never actually closes the session but at least it is providing the proper workflow of the app.

creating chat room in QuickBlox

I am trying to create a chat room in QuickBlox using my iOS app.
[[QBChat instance] createPrivateRoomWithName:#"My Room"];
- (void)createPrivateRoomWithName:(QBChatRoom*)room{
NSLog(#"Private room %# was created", room.name);
// Add users to this room
NSNumber *anny = [NSNumber numberWithInt:300];
NSNumber *jim = [NSNumber numberWithInt:357];
NSArray *users = [NSArray arrayWithObjects:anny, jim, nil];
[[QBChat instance] addUsers:users toRoom:room];
}
but after using this code my application is crashing, below is the crash log.
2013-01-03 19:13:55.234 Chat.Points[11178:23d03] +[QBDDXMLElement elementWithName:xmlns:]: unrecognized selector sent to class 0x22f73c
2013-01-03 19:13:55.241 Chat.Points[11178:23d03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[QBDDXMLElement elementWithName:xmlns:]: unrecognized selector sent to class 0x22f73c'
*** First throw call stack:
(0x32fe012 0x29eae7e 0x33892ad 0x32edbbc 0x32ed94e 0x101e05 0x2da153f 0x2db3014 0x2da3418 0x2da32a6 0x2da4280 0x2da3fcb 0x990f7b24 0x990f96fe)
libc++abi.dylib: terminate called throwing an exception
You have to login to QuickBlox Chat before creating room.
The solution is:
1) you have to add -ObjC flag to Other Linker Flags
2) Add to SplashController.h chat delegate QBChatDelegate
#interface SplashController : UIViewController <QBActionStatusDelegate, FBServiceResultDelegate, FBSessionDelegate, QBChatDelegate>{
3) Add to SplashController.m,
to if
}else if([result isKindOfClass:[QBMRegisterSubscriptionTaskResult class]]){
at the top next lines:
// Login to QuickBlox Chat
//
[[QBChat instance] setDelegate:self];
[DataManager shared].currentQBUser.password = [NSString stringWithFormat:#"%u", [[[DataManager shared].currentFBUser objectForKey:kId] hash]];
[[QBChat instance] loginWithUser:[DataManager shared].currentQBUser];
//
//
4) Finally, add to the end
#pragma mark-
#pragma mark QBChatDelegate
- (void)chatDidLogin{
[[QBChat instance] createPrivateRoomWithName:#"ChatRRoom"];
}
- (void)chatRoomDidCreate:(QBChatRoom *)room{
NSLog(#"Room did create %#", room);
myRoom = [room retain];
}
Just Add -ObjC flag in Other Linker Flags in your targets' settings. Hope it will solve your problem.

FBFriendPickerViewController Crashing

a few days ago I had this working where after you login to facebook you can click a button and an FBFriendPickerViewController would appear with a list of all facebook friends. However, suddenly it has started to crash with some weird errors. Here is my code:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [FBSession.activeSession handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// attempt to extract a token from the url
return [FBSession.activeSession handleOpenURL:url];
}
In my home viewcontroller.m
// Pick Friends button handler
- (IBAction)pickFriendsClick:(UIButton *)sender {
// Create friend picker, and get data loaded into it.
FBFriendPickerViewController *friendPicker = [[FBFriendPickerViewController alloc] init];
self.friendPickerController = friendPicker;
[friendPicker loadData];
// Create navigation controller related UI for the friend picker.
friendPicker.navigationItem.title = #"Pick Friends";
friendPicker.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:#"Done"
style:UIBarButtonItemStyleBordered
target:self
action:#selector(friendPickerDoneButtonWasPressed:)];
friendPicker.navigationItem.hidesBackButton = YES;
// Make current.
[self.navigationController pushViewController:friendPicker animated:YES];
}
// Handler for when friend picker is dismissed
- (void)friendPickerDoneButtonWasPressed:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
NSString *message;
if (self.friendPickerController.selection.count == 0) {
message = #"<No Friends Selected>";
} else {
NSMutableString *text = [[NSMutableString alloc] init];
// we pick up the users from the selection, and create a string that we use to update the text view
// at the bottom of the display; note that self.selection is a property inherited from our base class
for (id<FBGraphUser> user in self.friendPickerController.selection) {
if ([text length]) {
[text appendString:#", "];
}
[text appendString:user.name];
}
message = text;
}
[[[UIAlertView alloc] initWithTitle:#"You Picked:"
message:message
delegate:nil
cancelButtonTitle:#"OK"
otherButtonTitles:nil]
show];
}
And finally here is the error message I am getting when the button set up to the pickFriendsClick method is hit:
2012-07-18 19:22:14.978 MeetUp[7213:1dc03] -[__NSDictionaryI length]: unrecognized selector sent to instance 0xa9b7c70
2012-07-18 19:22:14.980 MeetUp[7213:1dc03] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI length]: unrecognized selector sent to instance 0xa9b7c70'
* First throw call stack:
(0x1f626a2 0x13ede7e 0x1feda3d 0x1f522bc 0x1f5204e 0x1edd7d0 0x1ef5c98 0x1fcff7b 0x1ef5b42 0xde4d5a 0xe3ace8 0xe3ac93 0x20138 0x20718 0x410ffb 0x4110cf 0x3f9e1d 0x40a4db 0x3a79ba 0x14016be 0x25a53a6 0x259973c 0x2599550 0x2517690 0x25187fb 0x2518eb6 0x1f2b27e 0x1f2b1bd 0x1f08f22 0x1f086a4 0x1f0857b 0x1a7a913 0x1a7a798 0x358e7c 0x205d 0x1f85)
libc++abi.dylib: terminate called throwing an exception
Again, the login and logout functionality I have implemented is working great, and this was working not too long ago however now it is giving me trouble. Any help would be greatly appreciated. Thanks!
EDIT:
Okay so I added this line of code:
[friendPicker setItemPicturesEnabled:NO];
and it now works however obviously I do not get the little thumbnail profile pictures in the tableview cells.
I guess the error is that it for some reason crashes (SIGABRT) when it is trying to load the profile pictures. If anyone knows why this is that would be great, especially seeing as it worked and loaded the pictures a couple days ago.
Going to add your content to the answer as I came across the same issue and tldr and missed the hack solution.
The stack trace shows an exception being thrown at a line:
[FBGraphObjectTableDataSource tableView:imageForItem:]
Ergo setting:
self.friendPickerController.itemPicturesEnabled = NO;
seems to fix the issue as it won't load images.

twitter ios4 ..Accounts Framework

https://github.com/doubleencore/DETweetComposeViewController
I followed twitter integration here for supporting twitter for both ios5 and ios4.
if ([DETweetComposeViewController canSendTweet]) {
DETweetComposeViewControllerCompletionHandler completionHandler = ^(DETweetComposeViewControllerResult result) {
switch (result) {
case DETweetComposeViewControllerResultCancelled:
NSLog(#"Twitter Result: Cancelled");
break;
case DETweetComposeViewControllerResultDone:
NSLog(#"Twitter Result: Sent");
break;
}
[self dismissModalViewControllerAnimated:YES];
};
DETweetComposeViewController *tcvc = [[[DETweetComposeViewController alloc] init] autorelease];
[tcvc addImage:[UIImage imageNamed:#"YawkeyBusinessDog.jpg"]];
[tcvc addURL:[NSURL URLWithString:#"http://www.DoubleEncore.com/"]];
[tcvc addURL:[NSURL URLWithString:#"http://www.apple.com/ios/features.html#twitter"]];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentModalViewController:tcvc animated:YES];
}
else {
self.oAuth = [[[OAuth alloc] initWithConsumerKey:kDEConsumerKey andConsumerSecret:kDEConsumerSecret] autorelease];
TwitterDialog *td = [[[TwitterDialog alloc] init] autorelease];
td.twitterOAuth = self.oAuth;
td.delegate = self;
td.logindelegate = self;
[td show];
}
The tutorial didn't specify what is self.oAuth so i imported oAuth in my interface file and declared oAuth as a property
I have the following problems now :
1) the code above worked when i didn't put the completion handler block, after adding the handler the build is failing with error in DETweetAccountSelectorViewControllerDelegate in line
#import <Accounts/Accounts.h>
saying no such file or directory exist... which it didn't when there was no completion handler. And yes i have now linked and unlinked to accounts framework more than 5 times now..so it was working before not now.
2) when i run the project without completion handler the twitter dialog pops up. but can't post(authorization request comes up for my twitter app but after authorizing it gets stuck) ..the log in console is
discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:
also if i close the dialog ..the program crashes because there is no code to dimiss the controller which i tried to solve using completion handler.
3) if any one have a simpler tutorial to integrate twitter for both ios4 and ios5 ..can you share..
Thanks
I have recently received the:
discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:
Error in a different twitter framework that I am using.
The solution to the problem was that I had an error in my Delegate Function twitterDidLogin.
I think that if you solve for the error which you have not included on this post, that the 'discarded an uncaught exception' error will go away. Maybe you could paste that error?
I found the answer..there tutorial takes you in the opposite direction..waste my 5 hours on it..
just have to initialize DETweetComposeViewController ..and the rest is taken care of.. in their tutorial.. they show twitter dialog .and can tweet function which will just confuse