How to make this Parse.com cloud code call?

ios, parse-platform, swift

Solution

Add an Objective-C .m file to your project. Xcode will ask about creating a Bridge Header file. Say yes.

Delete the .m file. In the bridge header file, add your import statement:

#import <Parse/Parse.h>

Another answer, which has a way better walkthrough than mine: https://stackoverflow.com/a/24005242/353988

Now you can call native Parse code in Swift, i.e.:

import UIKit
import Foundation

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {

    Parse.setApplicationId("appid", clientKey: "clientkey")
    var obj = PFObject(className:"TestObject")
    obj.setObject("bar", forKey: "foo")
    obj.saveInBackgroundWithBlock ({ 
      (succeeded: Bool!, err: NSError!) -> Void in
      NSLog("Hi")
    })

  }

}

Problem

Note: Here's some thoughts from CA at Parse about this: https://www.parse.com/questions/ios-when-will-swift-for-parse-be-ready (notice how popular that question is - hot topic). Hope it helps someone Here's an iOS7 Parse cloud code call ... how to do this in SWIFT ? cheers To be clear ... can you use "callFunctionInBackground" in SWIFT, or do you have to just call to an objc class? ``` -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { int thisRow = indexPath.row; PFUser *delFriend = [self.theFriends objectAtIndex:thisRow]; NSLog(@"you wish to delete .. %@", [delFriend fullName] ); // note, this cloud call is happily is set and forget // there's no return either way. life's like that sometimes [PFCloud callFunctionInBackground:@"clientRequestFriendRemove" withParameters:@{ @"removeThisFriendId":delFriend.objectId } block:^(NSString *serverResult, NSError *error) { if (!error) { NSLog(@"ok, Return (string) %@", serverResult); } }]; [self back]; // that simple } ``` Note, I've noticed this is a google landing page for trying to figure out "how the heck to do cloud code calls" (unrelated to Swift). Here is a full, complete set of example code for both iOS and Android of custom cloud code functions, in the Parse.com universe https://stackoverflow.com/a/24010828/294884 Hope it helps someone

Original source

Related problems