We have integrated the Parse iOS SDK with the Gideros Player and created a module using BhWax to interact with Parse (
http://www.parse.com/).
For those of you that haven’t used Parse before, it is basically a “backend-as-a-service” provider allowing you to store and query data from their cloud. They also have additional features like social integration, push notifications, and the ability to run custom code.
This initial integration includes a fully customizable login and signup flow using Parse Social, allowing native Facebook and Twitter auth. It also includes some basic code for pushing data to the Parse cloud, which will be further expanded upon going forward. We also plan on adding the push notification integration too. The Facebook iOS SDK is baked into the Parse SDK so you also get that integration for free.
We have made the code freely available on GitHub -
https://github.com/pushpoke/gideros-parseYou can read about the integration and view a video of it in action on our blog:
http://pushpoke.com/2013/03/parse-integration-with-gideros-using-bhwax/.
Would love to hear any feedback from anyone that uses it, or any comments/questions about the integration.
Cheers!
Comments
This module uses BhWax with UIViewController, UIImage, UIAlertView, delegates and block handlers.
thank you for sharing.
The problem I'm having is after I have built the Gideros iOS Player and try the gideros-parse.gproj, I get the following error in Gideros:
My BhWax.mm includes:
just found this: http://blog.parse.com/2013/03/11/facebooks-latest-ios-sdk-update-and-what-it-means-for-you/
Change your call to [PFFacebookUtils initializeWithApplicationId:] to [PFFacebookUtils initializeFacebook]. Note that you’ll need to make sure that your Facebook Application ID was set in your application’s plist file under the key FacebookAppID as described in section 5 of Facebook’s getting started guide.
Not sure how it should be:
PFFacebookUtils:initializeFacebook(facebookAppId)
or PFFacebookUtils:initializeFacebook()
??
The second method should work assuming you've setup the FB plist stuff properly with your FB App ID (according to FB SDK instructions).
PFFacebookUtils:initializeFacebook()
#import "AppDelegate.h"
#import "ViewController.h"
#import <---- this is from before
#import <AVFoundation/AVFoundation.h>
#include "giderosapi.h"
@implementation AppDelegate
@synthesize window;
@synthesize viewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
CGRect bounds = [[UIScreen mainScreen] bounds];
self.window = [[[UIWindow alloc] initWithFrame:bounds] autorelease];
self.viewController = [[[ViewController alloc] init] autorelease];
self.viewController.wantsFullScreenLayout = YES;
[self.viewController view];
currentAudioSessionCategory = AVAudioSessionCategorySoloAmbient;
[[AVAudioSession sharedInstance] setCategory:currentAudioSessionCategory error:nil];
[Parse setApplicationId:@blahblahblah
clientKey:@blahblahblah];
[PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
[PFFacebookUtils initializeFacebook]; <---- this is NEW
gdr_initialize(self.viewController.glView, bounds.size.width, bounds.size.height, true);
if ([[[UIDevice currentDevice] systemVersion] compare:@6.0 options:NSNumericSearch] != NSOrderedAscending)
{
[self.window setRootViewController:self.viewController];
}
else
{
[self.window addSubview:self.viewController.view];
}
gdr_drawFirstFrame();
[self.window makeKeyAndVisible];
return YES;
}
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_2
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
gdr_handleOpenUrl(url);
return [PFFacebookUtils handleOpenURL:url];
Seems to work, but I have NO IDEA of what I'm doing :S . I have no Objective-C or Xcode experience.