Search Issue Tracker

Fixed in 5.5.1

Votes

8

Found in

5.5.0f3

Issue ID

856989

Regression

Yes

[iOS] Crash in application:openURL:sourceApplication:annotation due to missing null check with Facebook SDK

Mobile

-

App crashes in application:openURL:sourceApplication:annotation when returning from login with Facebook SDK. This occurs due to missing nil check.

Steps to reproduce:
1) Open the latest attached project.
2) Build for iOS.
3) Run on a device (connected to Internet).
4) Press 'FB.Init' UI button.
5) Press 'Login' button.
- The app will probably crash now if bundle ID is not set up with Facebook. If not - proceed.
6) If not already logged in, enter your FB credentials and login.

After logging in and returning to the app, a crash occurs in application:openURL:sourceApplication:annotation.

Manually adding nil check to UnityAppController.mm fixes the issue:
auto addItem = [&](NSString* key, id value)
{
[keys addObject:key];
[values addObject:value];
};

Needs to be changed to:
auto addItem = [&](NSString* key, id value) {
[keys addObject:key];
if (value == nil) {
[values addObject:[NSNull null]];
} else {
[values addObject:value];
}
};

This way, the crash doesn't occur.

Reproduced on:
5.6.0a6, 5.5.0f3

Did not reproduce:
5.4.3p2

Devices tested:
iPhone 7 iOS 10.2
iPhone 6+ iOS 10.0

Comments (2)

  1. 1dc6eebd9188e9f6355565c9fb4e4fd0?d=mm

    mopsicus

    Apr 04, 2017 09:03

    thx FOURDESIRE, I tired while find to fix it

  2. E4813746d28ba58204d49727f6e6bd4e?d=mm

    fourdesire

    Jan 03, 2017 06:34

    I temporarily fixed the issue i mentioned by

    Replacing:

    addItem(@"annotation", annotation);

    To:

    addItem(@"annotation", annotation ? annotation : @{});

    in UnityAppController.mm
    - (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation

    because the annotation could be nil

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.