mattermost-mobile/ios/MattermostBucket.m
enahum 70c4e3e005
iOS Share Extension (#1308)
* objective-C share extension

* MattermostBucket module to share data between the main app and the extension

* middleware that shares the data between the main app and the extension

* Fix setState when safe area in unmounted

* Share extension for iOS

* Fastlane changes to include iOS share extension

* Fix unit test

* Feedback review

* define proptypes for icons
2018-01-15 16:11:42 -03:00

54 lines
1.2 KiB
Objective-C

//
// MattermostBucket.m
// Mattermost
//
// Created by Elias Nahum on 12/11/17.
// Copyright © 2017 Facebook. All rights reserved.
//
#import "MattermostBucket.h"
@implementation MattermostBucket
- (NSUserDefaults *)bucketByName:(NSString*)name {
return [[NSUserDefaults alloc] initWithSuiteName: name];
}
+ (BOOL)requiresMainQueueSetup
{
return YES;
}
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(set:(NSString *) key
value:(NSString *) value
bucketName:(NSString*) bucketName)
{
NSUserDefaults* bucket = [self bucketByName: bucketName];
[bucket setObject:value forKey:key];
}
RCT_EXPORT_METHOD(get:(NSString *) key
bucketName:(NSString*) bucketName
getWithResolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
NSUserDefaults* bucket = [self bucketByName: bucketName];
id value = [bucket objectForKey:key];
if (value == nil) {
value = [NSNull null];
}
resolve(value);
}
RCT_EXPORT_METHOD(remove:(NSString *) key
bucketName:(NSString*) bucketName)
{
NSUserDefaults* bucket = [self bucketByName: bucketName];
[bucket removeObjectForKey: key];
}
@end