Hey !
I am trying to integrate social sharing functionality in my app through Objective C.
Could someone validate the methology - in particular the Objective C code ?
I would like to get an event in B4i when the user has completed sharing.
UPDATED: 09-05-2015: THIS VERSION DOES NOT WORK - PLEASE SEE POST #101 FOR A WORKING VERSION:
https://www.b4x.com/android/forum/t...elp-with-inline-objc.52849/page-6#post-336177
A BIG THANK YOU TO ALL WHO HELPED ME WITH THIS CODE !
Here is my code:
I am trying to integrate social sharing functionality in my app through Objective C.
Could someone validate the methology - in particular the Objective C code ?
I would like to get an event in B4i when the user has completed sharing.
UPDATED: 09-05-2015: THIS VERSION DOES NOT WORK - PLEASE SEE POST #101 FOR A WORKING VERSION:
https://www.b4x.com/android/forum/t...elp-with-inline-objc.52849/page-6#post-336177
A BIG THANK YOU TO ALL WHO HELPED ME WITH THIS CODE !
Here is my code:
B4X:
'Code module
Sub Process_Globals
'These global variables will be declared once when the application starts.
'Public variables can be accessed from all modules.
End Sub
#If OBJC
- (IBAction)shareToSocialMedia:(NSString *)txt (NSString *)url: (NSString *)image
{
//NSString *text = @"How to add Facebook and Twitter sharing to an iOS app";
NSString *text = txt;
//NSURL *url = [NSURL URLWithString:@"http://roadfiresoftware.com/2014/02/how-to-add-facebook-and-twitter-sharing-to-an-ios-app/"];
NSURL *url = [NSURL URLWithString:url];
//UIImage *image = [UIImage imageNamed:@"roadfire-icon-square-200"];
UIImage *image = [UIImage imageNamed:image];
UIActivityViewController *controller =
[[UIActivityViewController alloc]
initWithActivityItems:@[text, url, image]
applicationActivities:nil];
controller.excludedActivityTypes = @[UIActivityTypePostToWeibo,
UIActivityTypeMessage,
UIActivityTypeMail,
UIActivityTypePrint,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList,
UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo,
UIActivityTypePostToTencentWeibo,
UIActivityTypeAirDrop];
[self presentViewController:controller animated:YES completion:^{
[self sharedone];
}];
}
- (void)sharedone:
{
int status = 1;
[B4IObjectWrapper raiseEvent:self :@"onsharingdone:" :@[@((int)status)]];
//[B4IObjectWrapper raiseEventFromDifferentThread:self :@"onsharingdone:" :@[@((int)status)]];
}
#end if
Sub onSharingDone(Status As Int)
Log("onSharingDone: Status = " & Status)
End Sub
Sub ShareToSocialMedia(txt As String, theURL As String, imageFile As String)
Dim NativeMe As NativeObject = Me
NativeMe.RunMethod("shareToSocialMedia:", Array As Object(txt, theURL, imageFile))
End Sub
Last edited: