10

With Enterprise Distribution: You don't need to include UDIDs in your provisioning profile; any device can install the app You must host the IPA somewhere and provide an installation page (could be just a simple link) Apple can and will lay the smack down on you if they suspect you are circumventing the app store If you're not using an Enterprise profile, ...


10

After much trial and error. I think this may be due to simple mis-configuration of the Connected App. Check the Scopes closely. For my trailhead app I needed the api, web, refresh_token scopes. I had omitted one of these. Obviously the scopes required will vary for the app, but at a minimum we need these 3. Scope parameter docs: https://help.salesforce.com/...


7

When you log in through an API, the login response includes the current user's ID. You can use this ID value to filter queries tailored to that specific user. See the Force.com REST API Developer's Guide for details.


7

I wrote ForcePad. Check out item 3 under the getting started section: (Optional) ForcePad connects to environments that are not otherwise API-enabled, like GE and PE orgs, by using a partner token. If you have a Salesforce partner token, paste it into RootViewController.h under PartnerTokenId. That said, getting a partner token is a little ...


6

Some of the differences that you will find in new S1 are: - the new record view, you are able to see now chatter feed, record detail and the related list of records that are related to that object. - you are able to see the VF pages that are in the object layout. - you have new features like mobile cards and flexipages - related to publisher actions ...


6

Use querymore in the SOAP API, potentially with a cocoa library like zkSforce Just use the nextRecordsURL endpoint you already have and issue a request for it (Edit) I do querymore in a few places in ForcePad


6

This is by design, refer this bug for this issue on Github Force.com iOS SDK which was closed with the appropriate explanation - Github Issue 392


6

Update April, 2015 Cocoapods is now supported If you don’t already have a Podfile for your project, create one in the project’s root directory. A Podfile is simply a text file named Podfile. Open your Podfile in a text editor and add a pod command that references a Mobile SDK podspec. For example, to add all modules to your app, use the ...


6

For those facing the same issue, we managed to work around it with this approach In Platform/ios/CordovaLib/Classes/CDWebViewDelegate.m, there is a method (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest with the following definition - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(...


6

Short answer - it works as expected If you select * a soup, you will get all the "internal" columns we create to support smartstore operations (more on this below). Columns that hold data from "indexed paths" use the type specified in the indexed spec (string, integer, floating etc). Since we don't support a type object, when you index non-leaf nodes, you ...


6

Yes, Salesforce does support Mobile SDK as part of premium support. However, you actually don't need premium support for mobile, if you are facing an issue with Mobile SDK, you can either post on the Salesforce Mobile SDK Google+ community. The questions on the G+ community are answered directly by the Mobile SDK team as well as the community(such as yours ...


5

I found the answer, thanks in part to a post from @Mobiral: add the following lines to the code of the .m (implementation) file of the class you want to use the info in, for example - see below, you could display the name of the current logged in user in a label on the first/home page of the app (using the ViewWIllAppear method to update the label): #...


5

One option is to keep a reference to the SFRestRequest objects you create and, in your response delegate method, determine which request has just completed and process accordingly. A far better option, in my (not-so) humble opinion, is to use the nifty block interfaces I contributed to the SDK. :)


5

As a starting point, you can refer to this tutorial from Raja Rao (Salesforce Developer Relations Team) which explains how to integrate Swift in your existing Salesforce native iOS app. The source code is available here


5

This link provides all configuration items that you need to have in place to use Communities with the Salesforce Mobile SDK. Depending on the kind of user license, you also need to have appropriate permissions (such as API enabled for Portal users) - refer this link. SDK does not provide any explicit support for self-registration.


5

It is handled via the following key-value pair in your <appname>-Info.plist file: <key>SFDCOAuthLoginHost</key> <string>your_community_login_url_minus_the_https://_prefix</string> You can find more details about it here


5

You can use the requestForUploadFile method. Try this Use the UIImagePickerControllerDelegate delegate Set your image source to UIImagePickerControllerSourceTypePhotoLibrary Convert image data to NSData and then upload using SFRest API requestForUploadFile Some sample code (may require some tweaks to run though) @interface RootViewController : ...


5

The correct way to do this is as follows NSArray *allAccounts = [SFUserAccountManager sharedInstance].allUserAccounts; if ([allAccounts count] > 1) { SFDefaultUserManagementViewController *userSwitchVc = [[SFDefaultUserManagementViewController alloc] initWithCompletionBlock:^(SFUserManagementAction action) { [self....


5

This one is actually a known issue and has subsequently been fixed. You can also view the code changes for this fixed ticket here. This was occuring earlier because the flow was missing handling for unique subscribers as a key - kSFUserAccountKey This is the crucial block (void)userWillLogOutNotification:(NSNotification *)notification { SFUserAccount *...


5

This has been a known issue with iOS9 but the good thing is that it's already fixed in 3.3.1 release. The root cause is that TheunarchiveObjectWithFile: message of the NSKeyedUnarchiver class now returns nil upon failure, instead of throwing an exception. Either update your Mobile SDK to 3.3.1 or update SFUserAccountManager.m from this pull request.


5

Based on your comment in response to my original question in comments: Please enable analytics when you call configureSdk(). This will result in analytics data being transmitted to the MarketingCloud servers. Setting an OpenDirect delegate will have no bearing on the analytics being transmitted as it merely provides a delegate for the message to be ...


4

Incredibly, there (still!) isn't yet easy programmatic access to reports, so you'd have to approximate it: Query the Report and ReportType sObjects to derive metadata about your report(s), like objects and fields Construct and execute your own SOQL query/queries to pull that data as the running user Dump it into the iOS charting library of your choice, or ...


4

You may now replace "SFRestAPI.h" with "SFRestAPI+Blocks.h" to call request with block syntax in the Salesforce Mobile SDK: NSDictionary *deleteParams = @{ @"sObjectId":[self.sfdcData objectForKey:@"Id"] }; SFRestRequest *request = [SFRestRequest requestWithMethod:SFRestMethodDELETE path:@...


4

You can convert a lead through the SOAP API. Check out ZKSforce, an Objective-C wrapper around the SOAP API. I contributed some async block methods that make this very easy.


4

A better place to store images is the filesystem of the device. You can do this via the Cordova File functionality, documented at: http://cordova.apache.org/docs/en/2.3.0/cordova_file_file.md.html Raymond Camden wrote a couple of blog posts that demonstrate how to store images locally for Android and iOS. Blog 1 Blog 2


4

The way I handled this was based on Pat Patterson's blog post "Oauth for Portal Users": https://developer.salesforce.com/blogs/developer-relations/2013/02/oauth-for-portal-users.html To set this up with the mobile SDK I did the following: Created a partner portal and assigned the partner portal gold profile to it Created a force.com site and set up the ...


4

With the Partner API you can use the CallOptions.value to identify the client application. This populates the Application column. Or at least it does in the Login History view. I don't think you can utilise this with the REST API, which is probably what backs the iOS Native SDK. The same login using OAuth for a connected app also populates the Application ...


4

It took me a while but I figured it out. The PINs configuration on each org's connected app will be different so the solution was to package up the Connected app as part of a managed package which can be deployed on any org. The app still uses the same client secret in the bootconfig.json file so it works across all orgs as long as the managed package has ...


4

In addition to Jonathan's comment above, you can look at this sample project which hooks up an older version of the Mobile SDK to Storyboards. The bottom line though - the mobile SDK provides you a template code structure to work off and you can remove the XIB dependencies and introduce the storyboard. To know more about that, read here.


4

This is actually a known issue which has been reported by other users as well. I've reproduced it at my end also. The issue is being tracked on the Mobile SDK iOS Github repo here. It is also discussed on the Mobile SDK Google+ community page.


Only top voted, non community-wiki answers of a minimum length are eligible