iOS Question [Solved] Social Share

Descartex

Well-Known Member
Licensed User
Longtime User
Hi everybody!
I'm trying to enable the social share feature for my app.
I need to share an image and some text on Whatsapp, Facebook, Email, etc.
I tried the code of this post:
https://www.b4x.com/android/forum/t...elp-with-inline-objc.52849/page-6#post-336177
but it only works when I choose an online file. If I try to send a local file, it raises an error i can not debug (I have no idea about ObjectiveC, sorry)
Application_Start
Application_Active
Error occurred on line: 112 (modShare)
*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[2]
Stack Trace: (
CoreFoundation <redacted> + 154
libobjc.A.dylib objc_exception_throw + 38
CoreFoundation <redacted> + 418
CoreFoundation <redacted> + 44
Share Test -[b4i_modshare share2SocialMedia:::::] + 1392
CoreFoundation <redacted> + 68
CoreFoundation <redacted> + 282
Share Test +[B4I runDynamicMethod:method:throwErrorIfMissing:args:] + 1784
Share Test -[B4INativeObject RunMethod::] + 158
Share Test -[b4i_modshare _sharetosocialmedia:::::] + 2814
Share Test -[b4i_main _cmdsharelocalimage_click] + 1540
CoreFoundation <redacted> + 68
CoreFoundation <redacted> + 282
Share Test +[B4I runDynamicMethod:method:throwErrorIfMissing:args:] + 1784
Share Test -[B4IShell runMethod:] + 574
Share Test -[B4IShell raiseEventImpl:method:args::] + 1998
Share Test -[B4IShellBI raiseEvent:event:params:] + 1442
Share Test __33-[B4I raiseUIEvent:event:params:]_block_invoke + 74
libdispatch.dylib <redacted> + 10
libdispatch.dylib <redacted> + 22
libdispatch.dylib <redacted> + 254
CoreFoundation <redacted> + 8
CoreFoundation <redacted> + 1300
CoreFoundation CFRunLoopRunSpecific + 522
CoreFoundation CFRunLoopRunInMode + 106
GraphicsServices GSEventRunModal + 138
UIKit UIApplicationMain + 1136
Share Test main + 106
libdyld.dylib <redacted> + 2
)
Can anyone help me to enable this feature?
Thank you so much.
 

Descartex

Well-Known Member
Licensed User
Longtime User
Yes, I used the code.
Here you have my project.
Thank you.
 

Attachments

  • iOSShare.zip
    10.1 KB · Views: 471
Upvote 0

Descartex

Well-Known Member
Licensed User
Longtime User
Sorry, but I uninstalled and installed this with no changes it still crashing when I choose local file...
I've tried on Debug and Release Mode and both crash...
As i said, with online file it works perfectly.
If you look on the Error Log of my first post... it raises inside the objective C code... but I have no idea about objective C.

Thank you.
 
Upvote 0

Descartex

Well-Known Member
Licensed User
Longtime User
Hi.
Yes, I'm testing on real device...
I was adding logs to the inline code and it crashes here:
B4X:
NSLog(@"Here works");
UIActivityViewController *controller =
[[UIActivityViewController alloc]
initWithActivityItems:@[text, url, image]
applicationActivities:nil];
NSLog(@"Here crashes");

Log shows this:
Here works
Error occurred on line: 124 (modShare)
*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[2]
Stack Trace: (
CoreFoundation <redacted> + 154
libobjc.A.dylib objc_exception_throw + 38
CoreFoundation <redacted> + 418
CoreFoundation <redacted> + 44
Share Test -[b4i_modshare share2SocialMedia:::::] + 1550
CoreFoundation <redacted> + 68
CoreFoundation <redacted> + 282
Share Test +[B4I runDynamicMethod:method:throwErrorIfMissing:args:] + 1784
Share Test -[B4INativeObject RunMethod::] + 158
Share Test -[b4i_modshare _sharetosocialmedia:::::] + 2814
Share Test -[b4i_main _cmdsharelocalimage_click] + 1540
CoreFoundation <redacted> + 68
CoreFoundation <redacted> + 282
Share Test +[B4I runDynamicMethod:method:throwErrorIfMissing:args:] + 1784
Share Test -[B4IShell runMethod:] + 574
Share Test -[B4IShell raiseEventImpl:method:args::] + 1998
Share Test -[B4IShellBI raiseEvent:event:params:] + 1442
Share Test __33-[B4I raiseUIEvent:event:params:]_block_invoke + 74
libdispatch.dylib <redacted> + 10
libdispatch.dylib <redacted> + 22
libdispatch.dylib <redacted> + 254
CoreFoundation <redacted> + 8
CoreFoundation <redacted> + 1300
CoreFoundation CFRunLoopRunSpecific + 522
CoreFoundation CFRunLoopRunInMode + 106
GraphicsServices GSEventRunModal + 138
UIKit UIApplicationMain + 1136
Share Test main + 106
libdyld.dylib <redacted> + 2
)

Hope it helps.
Thank you.
 
Upvote 0

Descartex

Well-Known Member
Licensed User
Longtime User
For any reason, image is null...
i tried to load to an imageview and it loads...
maybe the inline code is wrong?
 
Upvote 0

Descartex

Well-Known Member
Licensed User
Longtime User
I've changed it and still crashing... image stills null.
 
Upvote 0

Descartex

Well-Known Member
Licensed User
Longtime User
Here is the problem...
B4X:
image = [UIImage imageNamed:theimg];
I've changed it to:
B4X:
image = [UIImage imageWithContentsOfFile:theimg];
and worked...
For any reason, the method ImageNamed is not working with assets folder.
Thank you!!!
 
Upvote 0
Top