Skip to content

Commit 0251541

Browse files
committed
[update]: 更新GTSDK-2.7.2.0;更新版本至1.1.41
1 parent 48b9acf commit 0251541

23 files changed

Lines changed: 1588 additions & 399 deletions

File tree

GetuiConfiguration.js

Lines changed: 4 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -51,106 +51,13 @@ function insertIOSImplCode(path){
5151
console.log(rf);
5252
} else {
5353
// console.log(searchDidlaunch[0]);
54-
var oldValue = rf.match(/\[self registerRemoteNotification\]/)
54+
var oldValue = rf.match(/GeTuiSdk registerRemoteNotification/)
5555
if(oldValue == null) {
56-
rf = rf.replace(searchDidlaunch[0],searchDidlaunch[0] + "\n \/\/ 接入个推\n\ [GeTuiSdk startSdkWithAppId:kGtAppId appKey:kGtAppKey appSecret:kGtAppSecret delegate:self\]\;\n \/\/ APNs\n \[self registerRemoteNotification\]\;");
57-
fs.writeFileSync(path, rf, "utf-8");
56+
rf = rf.replace(searchDidlaunch[0],searchDidlaunch[0] + "\n \/\/ 接入个推\n \[GeTuiSdk startSdkWithAppId:kGtAppId appKey:kGtAppKey appSecret:kGtAppSecret delegate:\[RCTGetuiModule sharedGetuiModule\] launchingOptions:launchOptions\]\;\n \/\/ APNs\n \[GeTuiSdk registerRemoteNotification: \(UNAuthorizationOptionSound \| UNAuthorizationOptionAlert \| UNAuthorizationOptionBadge\)\]\;");
57+
fs.writeFileSync(path, rf, "utf-8");
5858
}
59-
60-
}
61-
62-
// 这里插入 registerRemoteNotification
63-
var rf = fs.readFileSync(path,"utf-8");
64-
var search = rf.match(/\n.*registerRemoteNotification.*\n?\{\n/);
65-
if (search == null) {
66-
console.log("没有匹配到 函数 registerRemoteNotification");
67-
rf = rf.replace(/\@end/,"- (void)registerRemoteNotification {\n if \(\[\[UIDevice currentDevice\].systemVersion floatValue\] >= 10.0\) \{\n\#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 \/\/ Xcode 8编译会调用\nUNUserNotificationCenter \*center = \[UNUserNotificationCenter currentNotificationCenter\]\;\ncenter.delegate = self\;\[center requestAuthorizationWithOptions:\(UNAuthorizationOptionBadge \| UNAuthorizationOptionSound \| UNAuthorizationOptionAlert \| UNAuthorizationOptionCarPlay\) completionHandler:\^\(BOOL granted, NSError \*_Nullable error\) \{\nif \(!error\) \{\nNSLog\(\@\"request authorization succeeded!\"\)\;\n\}\n\}\]\;\n\[\[UIApplication sharedApplication\] registerForRemoteNotifications\]\;\n\#else \/\/ Xcode 7编译会调用\nUIUserNotificationType types = \(UIUserNotificationTypeAlert \| UIUserNotificationTypeSound \| UIUserNotificationTypeBadge\)\;\nUIUserNotificationSettings \*settings = \[UIUserNotificationSettings settingsForTypes:types categories:nil\]\;\n[[UIApplication sharedApplication] registerUserNotificationSettings:settings];\n[[UIApplication sharedApplication] registerForRemoteNotifications];\n\#endif\n} else if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {\nUIUserNotificationType types = (UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationTypeBadge);\nUIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:nil];\n[[UIApplication sharedApplication] registerUserNotificationSettings:settings];\n[[UIApplication sharedApplication] registerForRemoteNotifications];\n} else {\nUIRemoteNotificationType apn_type = (UIRemoteNotificationType)(UIRemoteNotificationTypeAlert |\nUIRemoteNotificationTypeSound |\nUIRemoteNotificationTypeBadge);\n[[UIApplication sharedApplication] registerForRemoteNotificationTypes:apn_type];\n}\n}\n\@end");
68-
// console.log(rf);
69-
fs.writeFileSync(path, rf, "utf-8");
7059
}
7160

72-
73-
// 这个插入代码 didRegisterForRemoteNotificationsWithDeviceToken
74-
var rf = fs.readFileSync(path,"utf-8");
75-
var search = rf.match(/\n.*didRegisterForRemoteNotificationsWithDeviceToken\:\(NSData \*\)deviceToken[ ]*\{/);
76-
var tokenMatchStr = "\n NSString *token = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@\"<>\"]];\n token = [token stringByReplacingOccurrencesOfString:@\" \" withString:@\"\"];\n NSLog(\@\"\>\>\>[DeviceToken Success]:\%\@\", token);\n\/\/ [ GTSdk ]:向个推服务器注册deviceToken\n [GeTuiSdk registerDeviceTokenData:deviceToken];\n"
77-
if (search == null) {
78-
console.log("没有匹配到 函数 didRegisterForRemoteNotificationsWithDeviceToken");
79-
rf = rf.replace(/\@end/,"/** 远程通知注册成功委托 */\n \- \(void\)application\:\(UIApplication \*\)application\ didRegisterForRemoteNotificationsWithDeviceToken\:\(NSData \*\)deviceToken \{"+ tokenMatchStr +"\}\n\@end");
80-
// console.log(rf);
81-
fs.writeFileSync(path, rf, "utf-8");
82-
} else {
83-
var oldValue = rf.match(/\[GeTuiSdk registerDeviceTokenData:deviceToken/)
84-
if(oldValue == null) {
85-
rf = rf.replace(search[0], search[0] + tokenMatchStr);
86-
fs.writeFileSync(path, rf, "utf-8");
87-
}
88-
}
89-
//
90-
// // 这里插入 didReceiveRemoteNotification
91-
// var rf = fs.readFileSync(path,"utf-8");
92-
// var search = rf.match(/\n.*didReceiveRemoteNotification\:\(NSDictionary \*\)userInfo[ ]*\{/);
93-
// if (search == null) {
94-
// console.log("没有匹配到 函数 didReceiveRemoteNotification");
95-
// rf = rf.replace(/\@end/,"\- \(void\)application\:\(UIApplication \*\)application\ didReceiveRemoteNotification\:\(NSDictionary \*\)userInfo \{\n\[\[NSNotificationCenter\ defaultCenter\]\ postNotificationName\:kJPFDidReceiveRemoteNotification\ object\:userInfo\]\;\n\}\n\@end");
96-
// // console.log(rf);
97-
// fs.writeFileSync(path, rf, "utf-8");
98-
// }
99-
//
100-
// 这里插入 didReceiveRemoteNotification fetchCompletionHandler
101-
var rf = fs.readFileSync(path,"utf-8");
102-
var mathStr = "// [ GTSdk ]:将收到的APNs信息传给个推统计\n [GeTuiSdk handleRemoteNotification:userInfo];\n// 控制台打印接收APNs信息\nNSLog(@\">>>[Receive RemoteNotification]:%@\", userInfo);\n [[NSNotificationCenter defaultCenter]postNotificationName:GT_DID_RECEIVE_REMOTE_NOTIFICATION object:@{@\"type\":@\"apns\",@\"userInfo\":userInfo}];\n completionHandler(UIBackgroundFetchResultNewData);"
103-
var search = rf.match(/\n.*didReceiveRemoteNotification\:[ ]*\(NSDictionary \*\)[ ]*userInfo[ ]*fetchCompletionHandler\:\(void[ ]*\(\^\)[ ]*\(UIBackgroundFetchResult\)\)completionHandler \{/);
104-
if (search == null) {
105-
console.log("没有匹配到 函数 didReceiveRemoteNotification fetchCompletionHandler");
106-
rf = rf.replace(/\@end/,"\- \(void\)application\:\(UIApplication \*\)application\ didReceiveRemoteNotification\:\(NSDictionary \*\)userInfo fetchCompletionHandler\:\(void\ \(\^\) \(UIBackgroundFetchResult\)\)completionHandler\ \{\n"+mathStr+"\n\}\n\@end");
107-
// console.log(rf);
108-
fs.writeFileSync(path, rf, "utf-8");
109-
}
110-
111-
// 这里插入 willPresentNotification
112-
var rf = fs.readFileSync(path,"utf-8");
113-
var search = rf.match(/\n.*willPresentNotification\:\(UNNotification \*\)notification[ ]*withCompletionHandler\:.*\{\n/);
114-
if (search == null) {
115-
console.log("没有匹配到 函数 willPresentNotification");
116-
rf = rf.replace(/\@end/,"#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0\n\- \(void\)userNotificationCenter\:\(UNUserNotificationCenter\ \*\)center willPresentNotification\:\(UNNotification\ \*\)notification\ withCompletionHandler\:\(void\ \(\^\)\(UNNotificationPresentationOptions\)\)completionHandler\ \{\n [[NSNotificationCenter defaultCenter]postNotificationName:GT_DID_RECEIVE_REMOTE_NOTIFICATION object:@{@\"type\":@\"apns\",@\"userInfo\":notification.request.content.userInfo}]; completionHandler\(UNNotificationPresentationOptionAlert\)\;\n\}\n\@end");
117-
// console.log(rf);
118-
fs.writeFileSync(path, rf, "utf-8");
119-
}
120-
//
121-
// 这里插入 didReceiveNotificationResponse
122-
var rf = fs.readFileSync(path,"utf-8");
123-
var search = rf.match(/\n.*userNotificationCenter\:\(UNUserNotificationCenter \*\)center[ ]*didReceiveNotificationResponse\:\(UNNotificationResponse\ \*\)response.*\{\n/);
124-
if (search == null) {
125-
console.log("没有匹配到 函数 didReceiveRemoteNotification");
126-
rf = rf.replace(/\@end/,"\- \(void\)userNotificationCenter\:\(UNUserNotificationCenter\ \*\)center\ didReceiveNotificationResponse\:\(UNNotificationResponse\ \*\)response\ withCompletionHandler\:\(void\ \(\^\)\(\)\)completionHandler\ \{\n [GeTuiSdk handleRemoteNotification:response.notification.request.content.userInfo];\n [[NSNotificationCenter defaultCenter]postNotificationName:GT_DID_CLICK_NOTIFICATION object:response.notification.request.content.userInfo];\ncompletionHandler\(\)\;\n\}\n#endif\n@end");
127-
// console.log(rf);
128-
fs.writeFileSync(path, rf, "utf-8");
129-
}
130-
131-
// 这里插入 SDK 注册 cid 成功回调
132-
var rf = fs.readFileSync(path,"utf-8");
133-
var search = rf.match(/\n.*GeTuiSdkDidRegisterClient\:.*\{\n/);
134-
var mathStr = "/** SDK成功注册 CID 回调 */\n-(void)GeTuiSdkDidRegisterClient:(NSString *)clientId{\n[[NSNotificationCenter defaultCenter]postNotificationName:GT_DID_REGISTE_CLIENTID object:clientId];\n}\n"
135-
if (search == null) {
136-
console.log("没有匹配到 函数 GeTuiSdkDidRegisterClient");
137-
138-
rf = rf.replace(/\@end/,mathStr+"\n@end")
139-
// console.log(rf);
140-
fs.writeFileSync(path, rf, "utf-8");
141-
}
142-
143-
// 这里插入 SDK收到透传消息回调
144-
var rf = fs.readFileSync(path,"utf-8");
145-
var search = rf.match(/\n.*andTaskId\:\(NSString \*\)taskId[ ]*andMsgId\:.*\{\n/);
146-
var mathStr = "/** SDK收到透传消息回调 */\n- (void)GeTuiSdkDidReceivePayloadData:(NSData *)payloadData andTaskId:(NSString *)taskId andMsgId:(NSString *)msgId andOffLine:(BOOL)offLine fromGtAppId:(NSString *)appId {\n// [ GTSdk ]:汇报个推自定义事件(反馈透传消息)\n[GeTuiSdk sendFeedbackMessage:90001 andTaskId:taskId andMsgId:msgId];\n\n// 数据转换\nNSString *payloadMsg = nil;\nif (payloadData) {\npayloadMsg = [[NSString alloc] initWithBytes:payloadData.bytes length:payloadData.length encoding:NSUTF8StringEncoding];\n}\n\n// 控制台打印日志\nNSString *msg = [NSString stringWithFormat:@\"taskId=%@,messageId:%@,payloadMsg:%@%@\", taskId, msgId, payloadMsg, offLine ? @\"<离线消息>\" : @\"\"];\nNSDictionary *userInfo = @{@\"taskId\":taskId,@\"msgId\":msgId,@\"payloadMsg\":payloadMsg,@\"offLine\":offLine?@\"YES\":@\"NO\"};\n[[NSNotificationCenter defaultCenter]postNotificationName:GT_DID_RECEIVE_REMOTE_NOTIFICATION object:@{@\"type\":@\"payload\",@\"userInfo\":userInfo}];\nNSLog(@\">>[GTSdk ReceivePayload]:%@\", msg);\n}"
147-
if (search == null) {
148-
console.log("没有匹配到 函数 GeTuiSdkDidReceivePayloadData");
149-
150-
rf = rf.replace(/\@end/,mathStr+"\n@end")
151-
// console.log(rf);
152-
fs.writeFileSync(path, rf, "utf-8");
153-
}
15461
}
15562

15663
// 插入 Appdelegate.h 文件代码
@@ -168,8 +75,7 @@ function insertIOSHeaderCode(path) {
16875
if (oldValue != null) {
16976
return
17077
}
171-
rf = rf.replace("\#import \<UIKit\/UIKit.h\>","\#import \<UIKit\/UIKit.h\>\n\#import \<RCTGetuiModule\/RCTGetuiModule.h\>\n\#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0\n\#import \<UserNotifications\/UserNotifications.h\>\n\#endif\n\#define kGtAppId \@\""+appId+"\"\n\#define kGtAppKey \@\""+appKey+"\"\n\#define kGtAppSecret \@\""+appSecret+"\"\n");
172-
rf = rf.replace("UIApplicationDelegate","UIApplicationDelegate,UNUserNotificationCenterDelegate,GeTuiSdkDelegate");
78+
rf = rf.replace("\#import \<UIKit\/UIKit.h\>","\#import \<UIKit\/UIKit.h\>\n\#if __has_include\(\<RCTGetuiModule\/RCTGetuiModule.h\>\)\n\#import \<RCTGetuiModule\/RCTGetuiModule.h\>\n\#elif __has_include\(\"RCTGetuiModule.h\"\)\n\#import \"RCTGetuiModule.h\"\n\#elif __has_include\(\<GtSdkRN\/RCTGetuiModule.h\>\)\n\#import \<GtSdkRN\/RCTGetuiModule.h\>\n\#endif\n#define kGtAppId \@\""+appId+"\"\n\#define kGtAppKey \@\""+appKey+"\"\n\#define kGtAppSecret \@\""+appSecret+"\"\n");
17379
fs.writeFileSync(path, rf, "utf-8");
17480
}
17581

GtSdkRN.podspec

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ Pod::Spec.new do |s|
1515
s.source = { :git => "https://github.com/GetuiLaboratory/react-native-getui.git" }
1616
s.source_files = 'ios/RCTGetuiModule/RCTGetuiModule/*.{h,m}'
1717
s.preserve_paths = "*.js"
18-
s.frameworks = 'UIKit','CFNetwork','CoreFoundation','CoreTelephony','SystemConfiguration','CoreGraphics','Foundation','Security'
19-
s.weak_frameworks = 'UserNotifications'
20-
s.libraries = 'z','resolv'
21-
s.vendored_libraries = "ios/RCTGetuiModule/RCTGetuiModule/*.a"
18+
s.frameworks = 'SystemConfiguration', 'CFNetwork','CoreTelephony','CoreLocation','AVFoundation','Security','AdSupport'
19+
s.weak_frameworks = 'UserNotifications','AppTrackingTransparency','Network'
20+
s.libraries = 'z','sqlite3.0','c++','resolv'
21+
s.vendored_frameworks = "ios/RCTGetuiModule/RCTGetuiModule/GTSDK.xcframework"
22+
s.requires_arc = true
23+
s.swift_versions = ['5']
2224

2325
s.dependency 'React'
2426
end

example/pushDemo/index.ios.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export default class pushDemo extends Component {
3535
//订阅消息通知
3636
var { NativeAppEventEmitter } = require('react-native');
3737
var resigsteClientIdSub = NativeAppEventEmitter.addListener(
38-
'registeClientId',
38+
'GeTuiSdkDidRegisterClient',
3939
(clientId) => {
4040
Alert.alert(clientId);
4141
this.setState({
@@ -45,23 +45,22 @@ export default class pushDemo extends Component {
4545

4646
)
4747
var receiveRemoteNotificationSub = NativeAppEventEmitter.addListener(
48-
'receiveRemoteNotification',
48+
'GeTuiSdkDidReceiveSlience',
4949
(notification) => {
50-
//消息类型分为 APNs 和 payload 透传消息,具体的消息体格式会有差异
51-
switch (notification.type) {
52-
case "apns":
53-
Alert.alert('APNs 消息通知',JSON.stringify(notification))
54-
break;
55-
case "payload":
56-
Alert.alert('payload 消息通知',JSON.stringify(notification))
57-
break;
58-
default:
59-
}
50+
/// 收到透传消息
51+
/// 推送消息内容
52+
/// @param fromGetui YES: 个推通道 NO:苹果apns通道
53+
/// @param offLine 是否是离线消息,YES.是离线消息
54+
/// @param appId 应用的appId
55+
/// @param taskId 推送消息的任务id
56+
/// @param msgId 推送消息的messageid
57+
/// @param completionHandler 用来在后台状态下进行操作(通过苹果apns通道的消息 才有此参数值)
58+
Alert.alert('点击通知',JSON.stringify(notification))
6059
}
6160
);
6261

6362
var clickRemoteNotificationSub = NativeAppEventEmitter.addListener(
64-
'clickRemoteNotification',
63+
'GeTuiSdkDidReceiveNotification',
6564
(notification) => {
6665
Alert.alert('点击通知',JSON.stringify(notification))
6766
}

index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ export default class Getui {
209209
static sendMessage(body, error) {
210210
GetuiModule.sendMessage(body, error);
211211
}
212+
212213
/**
213214
* 上行第三方自定义回执actionid
214215
*

ios/RCTGetuiModule/RCTGetuiModule.xcodeproj/project.pbxproj

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 46;
6+
objectVersion = 52;
77
objects = {
88

99
/* Begin PBXBuildFile section */
10-
6B1E1FDF22D49E7E00A9FB65 /* libGTSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B1E1FDE22D49E7E00A9FB65 /* libGTSDK.a */; };
11-
840E2B5E205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 840E2B5D205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.m */; };
1210
84F17A2E1E63FB1B00F97ED1 /* RCTGetuiModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 84F17A2D1E63FB1B00F97ED1 /* RCTGetuiModule.m */; };
11+
A8BBA46629499A8300918BD1 /* GTSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8BBA46529499A8300918BD1 /* GTSDK.xcframework */; };
1312
/* End PBXBuildFile section */
1413

1514
/* Begin PBXCopyFilesBuildPhase section */
@@ -26,21 +25,18 @@
2625
/* End PBXCopyFilesBuildPhase section */
2726

2827
/* Begin PBXFileReference section */
29-
6B1E1FDE22D49E7E00A9FB65 /* libGTSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGTSDK.a; sourceTree = "<group>"; };
30-
840E2B5C205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTGetuiPushBridgeQueue.h; sourceTree = "<group>"; };
31-
840E2B5D205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTGetuiPushBridgeQueue.m; sourceTree = "<group>"; };
32-
8428ABA61F3D783F00E59AE3 /* GeTuiSdk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeTuiSdk.h; sourceTree = "<group>"; };
3328
84F17A291E63FB1B00F97ED1 /* libRCTGetuiModule.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTGetuiModule.a; sourceTree = BUILT_PRODUCTS_DIR; };
3429
84F17A2C1E63FB1B00F97ED1 /* RCTGetuiModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTGetuiModule.h; sourceTree = "<group>"; };
3530
84F17A2D1E63FB1B00F97ED1 /* RCTGetuiModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTGetuiModule.m; sourceTree = "<group>"; };
31+
A8BBA46529499A8300918BD1 /* GTSDK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = GTSDK.xcframework; sourceTree = "<group>"; };
3632
/* End PBXFileReference section */
3733

3834
/* Begin PBXFrameworksBuildPhase section */
3935
84F17A261E63FB1B00F97ED1 /* Frameworks */ = {
4036
isa = PBXFrameworksBuildPhase;
4137
buildActionMask = 2147483647;
4238
files = (
43-
6B1E1FDF22D49E7E00A9FB65 /* libGTSDK.a in Frameworks */,
39+
A8BBA46629499A8300918BD1 /* GTSDK.xcframework in Frameworks */,
4440
);
4541
runOnlyForDeploymentPostprocessing = 0;
4642
};
@@ -66,12 +62,9 @@
6662
84F17A2B1E63FB1B00F97ED1 /* RCTGetuiModule */ = {
6763
isa = PBXGroup;
6864
children = (
69-
6B1E1FDE22D49E7E00A9FB65 /* libGTSDK.a */,
7065
84F17A2C1E63FB1B00F97ED1 /* RCTGetuiModule.h */,
7166
84F17A2D1E63FB1B00F97ED1 /* RCTGetuiModule.m */,
72-
840E2B5C205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.h */,
73-
840E2B5D205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.m */,
74-
8428ABA61F3D783F00E59AE3 /* GeTuiSdk.h */,
67+
A8BBA46529499A8300918BD1 /* GTSDK.xcframework */,
7568
);
7669
path = RCTGetuiModule;
7770
sourceTree = "<group>";
@@ -136,7 +129,6 @@
136129
buildActionMask = 2147483647;
137130
files = (
138131
84F17A2E1E63FB1B00F97ED1 /* RCTGetuiModule.m in Sources */,
139-
840E2B5E205A8F0D00A09DFC /* RCTGetuiPushBridgeQueue.m in Sources */,
140132
);
141133
runOnlyForDeploymentPostprocessing = 0;
142134
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>SchemeUserState</key>
6+
<dict>
7+
<key>RCTGetuiModule.xcscheme_^#shared#^_</key>
8+
<dict>
9+
<key>orderHint</key>
10+
<integer>0</integer>
11+
</dict>
12+
</dict>
13+
</dict>
14+
</plist>

0 commit comments

Comments
 (0)