react-native-share 7.8.0 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ #import <React/RCTBridgeModule.h>
4
+
5
+ @interface MessengerShare : NSObject <RCTBridgeModule>
6
+
7
+ - (void)shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
8
+ @end
@@ -0,0 +1,35 @@
1
+ #import "MessengerShare.h"
2
+
3
+ #import <React/RCTConvert.h>
4
+
5
+ @implementation MessengerShare
6
+ RCT_EXPORT_MODULE();
7
+
8
+ - (void)shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback {
9
+
10
+ if ([options objectForKey:@"url"] && [options objectForKey:@"url"] != [NSNull null]) {
11
+
12
+ NSString *urlString = [NSString stringWithFormat:@"fb-messenger://share?link=%@", [RCTConvert NSString:options[@"url"]]];
13
+ NSURL *url = [NSURL URLWithString:urlString];
14
+
15
+ if ([[UIApplication sharedApplication] canOpenURL:url]) {
16
+ [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
17
+
18
+ successCallback(@[@true, @""]);
19
+ } else {
20
+ // Cannot open Messenger
21
+ NSString *contentLinkString = @"https://apps.apple.com/us/app/messenger/id454638411";
22
+ NSURL *url = [NSURL URLWithString:contentLinkString];
23
+ [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
24
+
25
+ NSString *errorMessage = @"Not installed";
26
+ NSDictionary *userInfo = @{NSLocalizedFailureReasonErrorKey: NSLocalizedString(errorMessage, nil)};
27
+ NSError *error = [NSError errorWithDomain:@"com.rnshare" code:1 userInfo:userInfo];
28
+
29
+ NSLog(@"%@", errorMessage);
30
+ failureCallback(error);
31
+ }
32
+ }
33
+ }
34
+
35
+ @end
package/ios/RNShare.m CHANGED
@@ -19,6 +19,7 @@
19
19
  #import "EmailShare.h"
20
20
  #import "TelegramShare.h"
21
21
  #import "ViberShare.h"
22
+ #import "MessengerShare.h"
22
23
  #import "RNShareActivityItemSource.h"
23
24
  #import "RNShareUtils.h"
24
25
 
@@ -84,6 +85,7 @@ RCT_EXPORT_MODULE()
84
85
  @"INSTAGRAMSTORIES": @"instagramstories",
85
86
  @"TELEGRAM": @"telegram",
86
87
  @"EMAIL": @"email",
88
+ @"MESSENGER": @"messanger",
87
89
  @"VIBER": @"viber",
88
90
 
89
91
  @"SHARE_BACKGROUND_IMAGE": @"shareBackgroundImage",
@@ -149,7 +151,11 @@ RCT_EXPORT_METHOD(shareSingle:(NSDictionary *)options
149
151
  NSLog(@"TRY OPEN viber");
150
152
  ViberShare *shareCtl = [[ViberShare alloc] init];
151
153
  [shareCtl shareSingle:options failureCallback: failureCallback successCallback: successCallback];
152
- }
154
+ } else if([social isEqualToString:@"messenger"]) {
155
+ NSLog(@"TRY OPEN messenger");
156
+ MessengerShare *shareCtl = [[MessengerShare alloc] init];
157
+ [shareCtl shareSingle:options failureCallback: failureCallback successCallback: successCallback];
158
+ }
153
159
  } else {
154
160
  RCTLogError(@"key 'social' missing in options");
155
161
  return;
@@ -7,7 +7,8 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 4EED9CAF24F5A2EB006505C4 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EED9CAE24F5A2EB006505C4 /* Utils.m */; };
10
+ 6513A53928AF109A00F0AE09 /* MessengerShare.m in Sources */ = {isa = PBXBuildFile; fileRef = 6513A53828AF109A00F0AE09 /* MessengerShare.m */; };
11
+ 65B4E1BA28AF0DC800D905B8 /* RNShareUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 65B4E1B928AF0DC800D905B8 /* RNShareUtils.m */; };
11
12
  6D697F8423A86EBC00F754A1 /* RNShareActivityItemSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D697F8323A86EBC00F754A1 /* RNShareActivityItemSource.m */; };
12
13
  B33C22851D441713006BCD98 /* GenericShare.m in Sources */ = {isa = PBXBuildFile; fileRef = B33C22841D441713006BCD98 /* GenericShare.m */; };
13
14
  B33C22891D4419E8006BCD98 /* WhatsAppShare.m in Sources */ = {isa = PBXBuildFile; fileRef = B33C22881D4419E8006BCD98 /* WhatsAppShare.m */; };
@@ -33,8 +34,10 @@
33
34
 
34
35
  /* Begin PBXFileReference section */
35
36
  134814201AA4EA6300B7C361 /* libRNShare.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNShare.a; sourceTree = BUILT_PRODUCTS_DIR; };
36
- 4EED9CAD24F5A2EB006505C4 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utils.h; sourceTree = "<group>"; };
37
- 4EED9CAE24F5A2EB006505C4 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utils.m; sourceTree = "<group>"; };
37
+ 6513A53728AF108500F0AE09 /* MessengerShare.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessengerShare.h; sourceTree = "<group>"; };
38
+ 6513A53828AF109A00F0AE09 /* MessengerShare.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessengerShare.m; sourceTree = "<group>"; };
39
+ 65B4E1B828AF0DB400D905B8 /* RNShareUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNShareUtils.h; sourceTree = "<group>"; };
40
+ 65B4E1B928AF0DC800D905B8 /* RNShareUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNShareUtils.m; sourceTree = "<group>"; };
38
41
  6D697F8223A86EBC00F754A1 /* RNShareActivityItemSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNShareActivityItemSource.h; sourceTree = "<group>"; };
39
42
  6D697F8323A86EBC00F754A1 /* RNShareActivityItemSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNShareActivityItemSource.m; sourceTree = "<group>"; };
40
43
  B33C22841D441713006BCD98 /* GenericShare.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GenericShare.m; sourceTree = "<group>"; };
@@ -89,22 +92,24 @@
89
92
  B33C22801D43F9B0006BCD98 /* social */ = {
90
93
  isa = PBXGroup;
91
94
  children = (
92
- CE0C76361E9E7DE100ED396E /* InstagramShare.m */,
93
- CE0C76621E9E869300ED396E /* InstagramShare.h */,
94
- B33C22841D441713006BCD98 /* GenericShare.m */,
95
- B33C22861D441723006BCD98 /* GenericShare.h */,
96
- B33C22871D4419DA006BCD98 /* WhatsAppShare.h */,
97
- B33C22881D4419E8006BCD98 /* WhatsAppShare.m */,
98
- B33C228A1D442576006BCD98 /* EmailShare.m */,
99
95
  B33C228C1D442583006BCD98 /* EmailShare.h */,
100
- 4EED9CAD24F5A2EB006505C4 /* Utils.h */,
101
- 4EED9CAE24F5A2EB006505C4 /* Utils.m */,
102
- B3EEE48D1D4844E7008422B6 /* GooglePlusShare.m */,
96
+ B33C228A1D442576006BCD98 /* EmailShare.m */,
97
+ F1A1AD562444B09B00E32E33 /* FacebookStories.h */,
98
+ F1A1AD572444B09B00E32E33 /* FacebookStories.m */,
99
+ B33C22861D441723006BCD98 /* GenericShare.h */,
100
+ B33C22841D441713006BCD98 /* GenericShare.m */,
103
101
  B3EEE48F1D4844F4008422B6 /* GooglePlusShare.h */,
102
+ B3EEE48D1D4844E7008422B6 /* GooglePlusShare.m */,
103
+ CE0C76621E9E869300ED396E /* InstagramShare.h */,
104
+ CE0C76361E9E7DE100ED396E /* InstagramShare.m */,
104
105
  FCC7BB4D2214566C00E1EA39 /* InstagramStories.h */,
105
106
  FCC7BB4E221457EF00E1EA39 /* InstagramStories.m */,
106
- F1A1AD562444B09B00E32E33 /* FacebookStories.h */,
107
- F1A1AD572444B09B00E32E33 /* FacebookStories.m */,
107
+ 6513A53728AF108500F0AE09 /* MessengerShare.h */,
108
+ 6513A53828AF109A00F0AE09 /* MessengerShare.m */,
109
+ 65B4E1B828AF0DB400D905B8 /* RNShareUtils.h */,
110
+ 65B4E1B928AF0DC800D905B8 /* RNShareUtils.m */,
111
+ B33C22871D4419DA006BCD98 /* WhatsAppShare.h */,
112
+ B33C22881D4419E8006BCD98 /* WhatsAppShare.m */,
108
113
  );
109
114
  name = social;
110
115
  sourceTree = "<group>";
@@ -167,14 +172,15 @@
167
172
  buildActionMask = 2147483647;
168
173
  files = (
169
174
  F1A1AD582444B09B00E32E33 /* FacebookStories.m in Sources */,
175
+ 65B4E1BA28AF0DC800D905B8 /* RNShareUtils.m in Sources */,
170
176
  6D697F8423A86EBC00F754A1 /* RNShareActivityItemSource.m in Sources */,
171
177
  CE0C76371E9E7DE100ED396E /* InstagramShare.m in Sources */,
172
- 4EED9CAF24F5A2EB006505C4 /* Utils.m in Sources */,
173
178
  B3EEE48E1D4844E7008422B6 /* GooglePlusShare.m in Sources */,
174
179
  B3E7B58A1CC2AC0600A0062D /* RNShare.m in Sources */,
175
180
  B33C22891D4419E8006BCD98 /* WhatsAppShare.m in Sources */,
176
181
  B33C228B1D442577006BCD98 /* EmailShare.m in Sources */,
177
182
  FCC7BB4F221457EF00E1EA39 /* InstagramStories.m in Sources */,
183
+ 6513A53928AF109A00F0AE09 /* MessengerShare.m in Sources */,
178
184
  B33C22851D441713006BCD98 /* GenericShare.m in Sources */,
179
185
  );
180
186
  runOnlyForDeploymentPostprocessing = 0;
@@ -1,3 +1,5 @@
1
+ #import <Foundation/Foundation.h>
2
+
1
3
  @interface RNShareUtils : NSObject
2
4
  +(NSString*)getExtensionFromBase64:(NSString*)base64String;
3
5
  +(NSURL*)getPathFromBase64:(NSString*)base64String with:(NSData*)data;
@@ -1,5 +1,5 @@
1
1
  //
2
- // FacebookShare.m
2
+ // WhatsAppShare.m
3
3
  // RNShare
4
4
  //
5
5
  // Created by Diseño Uno BBCL on 23-07-16.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-share",
3
3
  "description": "Social share, sending simple data to other apps.",
4
- "version": "7.8.0",
4
+ "version": "7.9.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/react-native-community/react-native-share.git"