[U3DXT] Bug? SocialXT.PostCompleted called with completed=true even if posting was unsuccessful

In an iOS project I have a SocialXT.Post call, and a delegate that responds to the PostCompleted event.

This setup works well, but I have found one case where the PostCompletedEventArgs parameter of the delegate gets a wrong result.


  • Unity 3.5.7
  • U3DXT Pro Version

To reproduce:

  1. make sure the device cannot get on the net (disable WIFI/3G, or just turn on airplane mode)
  2. in the iOS app initiate the SocialXT.Post call, and press the Send button in the message composition dialog
  3. another dialog will show up stating “Cannot Send Tweet”, press Cancel

In the process of this you’ll see multiple warnings asking you to turn on WIFI / turn off airplane mode, disregard those.

The PostCompleted delegate will be called with a PostCompletedEventArgs object, where completed=true, even though posting didn’t work.

Hi attilam, this is an issue in the native iOS API. Other people have reported the same thing: ios - SLComposeViewControllerResultDone when no network - Stack Overflow. A solution as suggested in that link is to check network reachability first. Unity comes with a call for that, Application.internetReachability.

if (Application.internetReachability == NetworkReachability.NotReachable)
  GUIXT.ShowAlert("No network", "Can't post without network access.", "OK", new string[]{});