android,ios配置scheme,react-native获取url

scheme协议定义

scheme 是一种页面之间跳转的协议,不仅可以用于app之间进行跳转,还可以用于 H5 页面跳转到app页面。
通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。
无论Android还是IOS,都可以通过在H5页面中打开 scheme 协议的地址,从而打开本地app。

  • 苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的。
    注意:
    URL Scheme必须能唯一标识一个APP,如果你设置的URL Scheme与别的APP的URL Scheme冲突时,你的APP不一定会被启动起来。因为当你的APP在安装的时候,系统里面已经注册了你的URL Scheme。

URL Scheme应用场景:

客户端应用可以向操作系统注册一个 URL scheme,该 scheme 用于从浏览器或其他应用中启动本应用。通过指定的 URL 字段,可以让应用在被调起后直接打开某些特定页面,比如商品详情页、活动详情页等等。也可以执行某些指定动作,如完成支付等。也可以在应用内通过 html 页来直接调用显示 app 内的某个页面。综上URL Scheme使用场景大致分以下几种:

  • 服务器下发跳转路径,客户端根据服务器下发跳转路径跳转相应的页面
  • H5页面点击锚点,根据锚点具体跳转路径APP端跳转具体的页面
  • APP端收到服务器端下发的PUSH通知栏消息,根据消息的点击跳转路径跳转相关页面
  • APP根据URL跳转到另外一个APP指定页面

scheme协议格式

scheme 协议定义和 http 协议类似,都是标准的 URI 结构。

[scheme:][//host:port][path][?query][#fragment]
scheme : 协议名称 - 必须
host : 协议地址 - 必须
port : 协议的端口,可以不填
path : 协议路径,可用 / 连接多个
query : 携带的参数可用 & 连接多个
fragment : 锚点
例子
下面看一个例子:

wexin://tencent.com:8080/dl/news/open?data=902323&params=test
  • weixin : 协议名称
  • tencent.com : 域名
  • 8080 : 端口
  • /dl/news/open : 页面的路径
  • data,params : 传递的参数

URL Scheme如何使用

Android配置

  1. 在AndroidManifest.xml中对<activity />标签增加<intent-filter />设置Scheme(只有第一步是必须配置的)
    在MainAcrtivity
        <activity
            android:name="com.app.MainActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <!--协议部分,随便设置-->
                <!-- 下面的scheme地址为 xl://goods -->
                <data android:scheme="xl"
                    android:host="goods"/>
                <!--下面这几行也必须得设置-->
                <category android:name="android.intent.category.DEFAULT"/>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.BROWSABLE"/>
            </intent-filter>
        </activity>

在其他Activity

<activity
   android:name=".GoodsDetailActivity"
   android:theme="@style/AppTheme">
   <!--要想在别的App上能成功调起App,必须添加intent过滤器-->
   <intent-filter>
       <!--协议部分,随便设置-->
       <!-- 下面的scheme地址为 xl://goods:8888/goodsDetail -->
       <data android:scheme="xl" 
                 android:host="goods" 
                 android:path="/goodsDetail" 
                 android:port="8888"/>
       <!--下面这几行也必须得设置-->
       <category android:name="android.intent.category.DEFAULT"/>
       <action android:name="android.intent.action.VIEW"/>
       <category android:name="android.intent.category.BROWSABLE"/>
   </intent-filter>
</activity>

注释:
需要配置能被js调起,一定要配置下面这句

<category android:name="android.intent.category.BROWSABLE"/>
<!--必有项-->
<action android:name="android.intent.action.VIEW" />
<!--表示该页面可以被隐式调用,必须加上该项-->
<category android:name="android.intent.category.DEFAULT" />
<!--如果希望该应用可以通过浏览器的连接启动,则添加该项-->
<category android:name="android.intent.category.BROWSABLE" />

扩展:
上面的 data 节点中可以包含下面的信息来对相应的scheme进行过滤,一般需要配置 scheme 和 host。


<data 
    android:scheme=""
    android:host=""
    android:port=""
    android:path=""
    android:mimeType=""
    android:pathPattern=""
    android:pathPrefix=""
    android:ssp=""
    android:sspPattern=""
    android:sspPrefix=""
/>

然后在相应的 activity 可以获取 uri 中参数。


public class DeepLinkActivity extends AppCompatActivity {
    private static final String TAG = "DeepLinkActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = getIntent();
        Log.e(TAG, "scheme:"  + intent.getScheme());
        Uri uri = intent.getData();
        Log.e(TAG, "scheme: " + uri.getScheme()); // 获取 scheme 名称
        Log.e(TAG, "host: " + uri.getHost());     // 获取 scheme 的host
        Log.e(TAG, "path: " + uri.getPath());     // 获取 scheme 的路径
        Log.e(TAG, "queryString: "+  uri.getQuery()); // 获取 scheme 的参数,?后面的部分
        Log.e(TAG, "queryParameter: " + uri.getQueryParameter("param")); // 获取 scheme 中的 param 参数
    }
}

其中的 intent 实例有下面的方法可以获取相应的 scheme 信息:

  • getScheme() :获取Uri中的scheme名称:[scheme:]
  • getSchemeSpecificPart() :获取Uri中的scheme-specific-part:部分:[//host:port][path]
  • getFragment() :获取Uri中的Fragment部分:[#fragment]
  • getAuthority() :获取Uri中Authority部分:[//host:port]
  • getPath() :获取Uri中path部分:[path]
  • getQuery() :获取Uri中的query部分:[?query]
  • getHost() :获取Authority中的Host字符串
  • getPost() :获取Authority中的Port字符串
  • List< String> getPathSegments() :依次提取出Path的各个部分的字符串,以字符串数组的形式输出
  • getQueryParameter(String key) :获取query部分中 key 对应的参数值
  1. 注意事项
    正常情况下,以上配置后,就可以正常进行跳转了,但是在安卓上,还需要进行一步配置,如果你的应用被其注册过的外部 url 调起,如果要在现有的 MainActivity 中监听传入的 intent,那么需要在AndroidManifest.xml中将 MainActivity 的launchMode设置为singleTask
<activity
  android:name=".MainActivity"
  android:launchMode="singleTask">
  1. 问题:当app在后台运行,用scheme链接打开,url获取为null,不会跳转到对应页面
    原因:
    因为react native只配置了一个activity,整个应用都是在这个activity里运行的。当app尚未启动,由scheme唤起时,activity会执行onCreate生命周期钩子,初始化intent,此时你将会得到全新的url:null。当app已经运行在后台,由scheme唤起时,activity不会执行onCreate方法,你得到的url还是旧值:null。
    在android/app/src/main/java/com/lka/MainActivity.java的最下面添加:
@Override
public void onNewIntent(Intent intent){
    super.onNewIntent(intent);
    setIntent(intent);
}

注:
singTask 启动模式在从后台唤醒时它的生命周期:

如果IntentActivity处于任务栈的顶端,也就是说之前打开过的Activity,现在处于
onPause
onStop 状态的话,
其他应用再发送Intent的话,执行顺序为:

onNewIntent
onRestart
onStart
onResume

IOS配置

只需要配置info.plist 文件,只需要配置URL Schemes就可以了,identifier是可选配置
在这里插入图片描述

H5打开app测试

自己编写一个html页面,发到微信,用qq浏览器打开,点击"打开app"按钮,会提示是否“允许”,点击允许,自动打开app。
如果打开的 scheme 在本地没有对应的 app,则点击连接不会反应。
例子

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<div >
  <a href="app://www.aaa.com/list">打开app</a>
</div>
</body>
</html>

注:
1.这种的缺点是只能用qq浏览器打开
2.浏览器打开如下html代码,即可启动App

<a href="myscheme://">打开app</a>

用原生代码获取参数

浏览器打开App时,如何获取网页带过来的数据(用原生代码获取)

<a href="myscheme://?arg0=0&arg1=1">打开app</a>
1.假如你是通过浏览器打开这个网页的,那么获取数据的方式为:

Uri uri = getIntent().getData();  
String test1= uri.getQueryParameter("arg0"); 
String test2= uri.getQueryParameter("arg1");2)如果使用webview访问该网页,获取数据的操作为:

webView.setWebViewClient(new WebViewClient(){
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
          Uri uri=Uri.parse(url);
          if(uri.getScheme().equals("myscheme")){
              String arg0=uri.getQueryParameter("arg0");
              String arg1=uri.getQueryParameter("arg1"); 
          }else{
              view.loadUrl(url);
          }
         return true;
  }
});

从APP上用原生代码调用实现跳转(没有测试)

android调用

 Intent action = new Intent(Intent.ACTION_VIEW);
 StringBuilder builder = new StringBuilder();
 builder.append("caishilive://caishi:8080/loadtooldetail?tool_id=100");
 action.setData(Uri.parse(builder.toString()));
 startActivity(action);Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("xl://goods:8888/goodsDetail?goodsId=10011002"));
 startActivity(intent);

ios调用

  NSString *url = @"opengs://";
 //    NSString *url = @"opengs://com.opengs.www";
 if ([[UIApplication sharedApplication]
      canOpenURL:[NSURL URLWithString:url]])
 {
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
 }
 else
 {
     NSLog(@"can not open URL scheme opengs");
 }

URL Scheme是否有效

跳转前要判断一下该URL Scheme是否有效

private boolean schemeValid() {
        PackageManager manager = mContext.getPackageManager();
        Intent action = new Intent(Intent.ACTION_VIEW);
        action.setData(Uri.parse("caishilive://caishi:8080/loadtooldetail?tool_id=100"));
        List list = manager.queryIntentActivities(action, PackageManager.GET_RESOLVED_FILTER);
        return list != null && list.size() > 0;
    }

react-native获取url 见下节 http://t.csdn.cn/h40sw


附录:常见应用的URL Scheme

1、记录使用过的URL Scheme

名称URL Scheme对应的普通链接
witter发消息twitter://messages/compose?text=[yourText]https://twitter.com/messages/compose?text=[yourText]
Twitter发动态twitter://intent/tweet?text=[yourText]https://twitter.com/intent/tweet?text=[yourText]
打开Emailmailto:?body=[yourText]
给某人发Emailmailto:[emailAddress]?body=[yourText]
发短信SMSsms:body=hello(AOS)sms:&body=hello(IOS)
whatsapp发消息whatsapp://send?text=[yourText]
fbmessenger发消息(分享链接)fb-messenger://share/?link=[yourShareURL]https://www.facebook.com/dialog/send?display=popup&app_id=[yourAppID]&link=[yourShareURL]&redirect_uri=[yourShareURL]
fbmessenger发消息(指定对象)fb-messenger://m.me/[yourPageID](通用) fb-messenger-public://user-thread/[yourPageID](IOS)https://www.messenger.com/t/[yourPageID] / https://m.me/[yourPageID]
fb打开相关主页fb://page/[yourPageID]https://www.facebook.com/[yourPageID]
Amazon打开产品详情页com.amazon.mobile.shopping://www.amazon.com/dp/[yourAsin]https://www.amazon.com/dp/[yourAsin]
打开App Store中应用详情页itms-apps://itunes.apple.com/cn/app/[yourAppID]https://itunes.apple.com/cn/app/[yourAppID]
打电话tel:[telephoneNumber]

2、系统默认应用

名称URL SchemeBundle identifier
Safarihttp://
mapshttp://maps.google.com
Phonetel://
SMSsms://
Mailmailto://
iBooksibooks://
App Storeitms-apps://itunes.apple.com
Musicmusic://
Videosvideos://
3、常用第三方软件
名称URL SchemeBundle identifier
QQmqq://
微信weixin://
腾讯微博TencentWeibo://
淘宝taobao://
支付宝alipay://
微博sinaweibo://
weico微博weico://
QQ浏览器mqqbrowser://com.tencent.mttlite
uc浏览器dolphin://com.dolphin.browser.iphone.chinese
欧朋浏览器ohttp://com.oupeng.mini
搜狗浏览器SogouMSE://com.sogou.SogouExplorerMobile
百度地图baidumap://com.baidu.map
Chromegooglechrome://
优酷youku://
京东openapp.jdmoble://
人人renren://
美团imeituan://
1号店wccbyihaodian://
我查查wcc://
有道词典yddictproapp://
知乎zhihu://
点评dianping://
微盘sinavdisk://
豆瓣fmdoubanradio://
网易公开课ntesopen://
名片全能王camcard://
QQ音乐qqmusic://
腾讯视频tenvideo://
豆瓣电影doubanmovie://
网易云音乐orpheus://
网易新闻newsapp://
网易应用apper://
网易彩票ntescaipiao://
有道云笔记youdaonote://
多看duokan-reader://
全国空气质量指数dirtybeijing://
百度音乐baidumusic://
下厨房xcfapp://

原文链接:https://blog.youkuaiyun.com/weixin_42895400/article/details/87799262
https://blog.youkuaiyun.com/wangkeke1860/article/details/49850997

D:\AwesomeProject>npx react-native config { "root": "D:\\AwesomeProject", "reactNativePath": "D:\\AwesomeProject\\node_modules\\react-native", "dependencies": { "@ant-design/icons-react-native": { "root": "D:\\AwesomeProject\\node_modules\\@ant-design\\icons-react-native", "name": "@ant-design/icons-react-native", "platforms": { "ios": null, "android": null }, "assets": [ "D:\\AwesomeProject\\node_modules\\@ant-design\\icons-react-native\\fonts\\antfill.ttf", "D:\\AwesomeProject\\node_modules\\@ant-design\\icons-react-native\\fonts\\antoutline.ttf" ], "hooks": {}, "params": [] }, "@react-native-async-storage/async-storage": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage", "name": "@react-native-async-storage/async-storage", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage\\ios\\RNCAsyncStorage.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage\\RNCAsyncStorage.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage\\ios\\RNCAsyncStorage.xcodeproj", "projectName": "RNCAsyncStorage.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage\\android", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-async-storage\\async-storage", "packageImportPath": "import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;", "packageInstance": "new AsyncStoragePackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "@react-native-community/cameraroll": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll", "name": "@react-native-community/cameraroll", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll\\ios\\RNCCameraRoll.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll\\react-native-cameraroll.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll\\ios\\RNCCameraRoll.xcodeproj", "projectName": "RNCCameraRoll.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll\\android", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\cameraroll", "packageImportPath": "import com.reactnativecommunity.cameraroll.CameraRollPackage;", "packageInstance": "new CameraRollPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "@react-native-community/masked-view": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view", "name": "@react-native-community/masked-view", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view\\ios\\RNCMaskedView.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view\\RNCMaskedView.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view\\ios\\RNCMaskedView.xcodeproj", "projectName": "RNCMaskedView.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view\\android", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\masked-view", "packageImportPath": "import org.reactnative.maskedview.RNCMaskedViewPackage;", "packageInstance": "new RNCMaskedViewPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "@react-native-community/segmented-control": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-community\\segmented-control", "name": "@react-native-community/segmented-control", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\segmented-control\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\segmented-control", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\segmented-control\\ios\\RNCSegmentedControl.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\segmented-control\\react-native-segmented-control.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\segmented-control\\ios\\RNCSegmentedControl.xcodeproj", "projectName": "RNCSegmentedControl.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": null }, "assets": [], "hooks": {}, "params": [] }, "@react-native-community/slider": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider", "name": "@react-native-community/slider", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider\\ios\\RNCSlider.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider\\react-native-slider.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider\\ios\\RNCSlider.xcodeproj", "projectName": "RNCSlider.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider\\android", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\slider", "packageImportPath": "import com.reactnativecommunity.slider.ReactSliderPackage;", "packageInstance": "new ReactSliderPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "@react-native-community/viewpager": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager", "name": "@react-native-community/viewpager", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager\\ios\\Viewpager.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager\\react-native-viewpager.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager\\ios\\Viewpager.xcodeproj", "projectName": "Viewpager.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager\\android", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-community\\viewpager", "packageImportPath": "import com.reactnativecommunity.viewpager.RNCViewPagerPackage;", "packageInstance": "new RNCViewPagerPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "@react-native-picker/picker": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker", "name": "@react-native-picker/picker", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker\\ios\\RNCPicker.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker\\RNCPicker.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker\\ios\\RNCPicker.xcodeproj", "projectName": "RNCPicker.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker\\android", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-picker\\picker", "packageImportPath": "import com.reactnativecommunity.picker.RNCPickerPackage;", "packageInstance": "new RNCPickerPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "@react-native-segmented-control/segmented-control": { "root": "D:\\AwesomeProject\\node_modules\\@react-native-segmented-control\\segmented-control", "name": "@react-native-segmented-control/segmented-control", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\@react-native-segmented-control\\segmented-control\\ios", "folder": "D:\\AwesomeProject\\node_modules\\@react-native-segmented-control\\segmented-control", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\@react-native-segmented-control\\segmented-control\\ios\\RNCSegmentedControl.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\@react-native-segmented-control\\segmented-control\\react-native-segmented-control.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\@react-native-segmented-control\\segmented-control\\ios\\RNCSegmentedControl.xcodeproj", "projectName": "RNCSegmentedControl.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": null }, "assets": [], "hooks": {}, "params": [] }, "jcore-react-native": { "root": "D:\\AwesomeProject\\node_modules\\jcore-react-native", "name": "jcore-react-native", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\jcore-react-native\\example\\ios", "folder": "D:\\AwesomeProject\\node_modules\\jcore-react-native", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\jcore-react-native\\ios\\RCTJCoreModule.xcodeproj\\project.pbxproj", "podfile": "D:\\AwesomeProject\\node_modules\\jcore-react-native\\example\\ios\\Podfile", "podspecPath": "D:\\AwesomeProject\\node_modules\\jcore-react-native\\JCore.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\jcore-react-native\\ios\\RCTJCoreModule.xcodeproj", "projectName": "RCTJCoreModule.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\jcore-react-native\\android", "folder": "D:\\AwesomeProject\\node_modules\\jcore-react-native", "packageImportPath": "import cn.jiguang.plugins.core.JCorePackage;", "packageInstance": "new JCorePackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "jpush-react-native": { "root": "D:\\AwesomeProject\\node_modules\\jpush-react-native", "name": "jpush-react-native", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\jpush-react-native\\ios", "folder": "D:\\AwesomeProject\\node_modules\\jpush-react-native", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\jpush-react-native\\ios\\RCTJPushModule.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\jpush-react-native\\JPush.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\jpush-react-native\\ios\\RCTJPushModule.xcodeproj", "projectName": "RCTJPushModule.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\jpush-react-native\\android", "folder": "D:\\AwesomeProject\\node_modules\\jpush-react-native", "packageImportPath": "import cn.jiguang.plugins.push.JPushPackage;", "packageInstance": "new JPushPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-background-timer": { "root": "D:\\AwesomeProject\\node_modules\\react-native-background-timer", "name": "react-native-background-timer", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-background-timer\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-background-timer", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-background-timer\\ios\\RNBackgroundTimer.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-background-timer\\react-native-background-timer.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-background-timer\\ios\\RNBackgroundTimer.xcodeproj", "projectName": "RNBackgroundTimer.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-background-timer\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-background-timer", "packageImportPath": "import com.ocetnik.timer.BackgroundTimerPackage;", "packageInstance": "new BackgroundTimerPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-camera": { "root": "D:\\AwesomeProject\\node_modules\\react-native-camera", "name": "react-native-camera", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-camera\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-camera", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-camera\\ios\\RNCamera.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-camera\\react-native-camera.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-camera\\ios\\RNCamera.xcodeproj", "projectName": "RNCamera.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-camera\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-camera", "packageImportPath": "import org.reactnative.camera.RNCameraPackage;", "packageInstance": "new RNCameraPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-compressor": { "root": "D:\\AwesomeProject\\node_modules\\react-native-compressor", "name": "react-native-compressor", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-compressor\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-compressor", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-compressor\\ios\\Compressor.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-compressor\\react-native-compressor.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-compressor\\ios\\Compressor.xcodeproj", "projectName": "Compressor.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-compressor\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-compressor", "packageImportPath": "import com.reactnativecompressor.CompressorPackage;", "packageInstance": "new CompressorPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-device-info": { "root": "D:\\AwesomeProject\\node_modules\\react-native-device-info", "name": "react-native-device-info", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-device-info\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-device-info", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-device-info\\ios\\RNDeviceInfo.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-device-info\\RNDeviceInfo.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-device-info\\ios\\RNDeviceInfo.xcodeproj", "projectName": "RNDeviceInfo.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-device-info\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-device-info", "packageImportPath": "import com.learnium.RNDeviceInfo.RNDeviceInfo;", "packageInstance": "new RNDeviceInfo()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-exception-handler": { "root": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler", "name": "react-native-exception-handler", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler\\ios\\ReactNativeExceptionHandler.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler\\ReactNativeExceptionHandler.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler\\ios\\ReactNativeExceptionHandler.xcodeproj", "projectName": "ReactNativeExceptionHandler.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-exception-handler", "packageImportPath": "import com.masteratul.exceptionhandler.ReactNativeExceptionHandlerPackage;", "packageInstance": "new ReactNativeExceptionHandlerPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-fs": { "root": "D:\\AwesomeProject\\node_modules\\react-native-fs", "name": "react-native-fs", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-fs", "folder": "D:\\AwesomeProject\\node_modules\\react-native-fs", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-fs\\RNFS.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-fs\\RNFS.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-fs\\RNFS.xcodeproj", "projectName": "RNFS.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-fs\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-fs", "packageImportPath": "import com.rnfs.RNFSPackage;", "packageInstance": "new RNFSPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-gesture-handler": { "root": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler", "name": "react-native-gesture-handler", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler\\ios\\RNGestureHandler.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler\\RNGestureHandler.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler\\ios\\RNGestureHandler.xcodeproj", "projectName": "RNGestureHandler.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-gesture-handler", "packageImportPath": "import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;", "packageInstance": "new RNGestureHandlerPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-get-location": { "root": "D:\\AwesomeProject\\node_modules\\react-native-get-location", "name": "react-native-get-location", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-get-location\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-get-location", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-get-location\\ios\\ReactNativeGetLocation.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-get-location\\ReactNativeGetLocation.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-get-location\\ios\\ReactNativeGetLocation.xcodeproj", "projectName": "ReactNativeGetLocation.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-get-location\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-get-location", "packageImportPath": "import com.github.douglasjunior.reactNativeGetLocation.ReactNativeGetLocationPackage;", "packageInstance": "new ReactNativeGetLocationPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-get-random-values": { "root": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values", "name": "react-native-get-random-values", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values\\ios\\RNGetRandomValues.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values\\react-native-get-random-values.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values\\ios\\RNGetRandomValues.xcodeproj", "projectName": "RNGetRandomValues.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-get-random-values", "packageImportPath": "import org.linusu.RNGetRandomValuesPackage;", "packageInstance": "new RNGetRandomValuesPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-image-picker": { "root": "D:\\AwesomeProject\\node_modules\\react-native-image-picker", "name": "react-native-image-picker", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-image-picker\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-image-picker", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-image-picker\\ios\\RNImagePicker.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-image-picker\\react-native-image-picker.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-image-picker\\ios\\RNImagePicker.xcodeproj", "projectName": "RNImagePicker.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-image-picker\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-image-picker", "packageImportPath": "import com.imagepicker.ImagePickerPackage;", "packageInstance": "new ImagePickerPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-linear-gradient": { "root": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient", "name": "react-native-linear-gradient", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient\\ios\\BVLinearGradient.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient\\BVLinearGradient.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient\\ios\\BVLinearGradient.xcodeproj", "projectName": "BVLinearGradient.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-linear-gradient", "packageImportPath": "import com.BV.LinearGradient.LinearGradientPackage;", "packageInstance": "new LinearGradientPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-permissions": { "root": "D:\\AwesomeProject\\node_modules\\react-native-permissions", "name": "react-native-permissions", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-permissions\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-permissions", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-permissions\\ios\\RNPermissions.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-permissions\\RNPermissions.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-permissions\\ios\\RNPermissions.xcodeproj", "projectName": "RNPermissions.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-permissions\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-permissions", "packageImportPath": "import com.zoontek.rnpermissions.RNPermissionsPackage;", "packageInstance": "new RNPermissionsPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-reanimated": { "root": "D:\\AwesomeProject\\node_modules\\react-native-reanimated", "name": "react-native-reanimated", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-reanimated\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-reanimated", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-reanimated\\ios\\RNReanimated.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-reanimated\\RNReanimated.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-reanimated\\ios\\RNReanimated.xcodeproj", "projectName": "RNReanimated.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-reanimated\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-reanimated", "packageImportPath": "import com.swmansion.reanimated.ReanimatedPackage;", "packageInstance": "new ReanimatedPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-safe-area-context": { "root": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context", "name": "react-native-safe-area-context", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context\\ios\\SafeAreaView.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context\\react-native-safe-area-context.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context\\ios\\SafeAreaView.xcodeproj", "projectName": "SafeAreaView.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-safe-area-context", "packageImportPath": "import com.th3rdwave.safeareacontext.SafeAreaContextPackage;", "packageInstance": "new SafeAreaContextPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-screens": { "root": "D:\\AwesomeProject\\node_modules\\react-native-screens", "name": "react-native-screens", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-screens\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-screens", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-screens\\ios\\RNScreens.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-screens\\RNScreens.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-screens\\ios\\RNScreens.xcodeproj", "projectName": "RNScreens.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-screens\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-screens", "packageImportPath": "import com.swmansion.rnscreens.RNScreensPackage;", "packageInstance": "new RNScreensPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-signature-capture": { "root": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture", "name": "react-native-signature-capture", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture\\Example\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture\\ios\\RSSignatureCapture.xcodeproj\\project.pbxproj", "podfile": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture\\Example\\ios\\Podfile", "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture\\react-native-signature-capture.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture\\ios\\RSSignatureCapture.xcodeproj", "projectName": "RSSignatureCapture.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-signature-capture", "packageImportPath": "import com.rssignaturecapture.RSSignatureCapturePackage;", "packageInstance": "new RSSignatureCapturePackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-sound": { "root": "D:\\AwesomeProject\\node_modules\\react-native-sound", "name": "react-native-sound", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-sound", "folder": "D:\\AwesomeProject\\node_modules\\react-native-sound", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-sound\\RNSound.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-sound\\RNSound.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-sound\\RNSound.xcodeproj", "projectName": "RNSound.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-sound\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-sound", "packageImportPath": "import com.zmxv.RNSound.RNSoundPackage;", "packageInstance": "new RNSoundPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-sqlite-storage": { "root": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage", "name": "react-native-sqlite-storage", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage", "folder": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage\\platforms\\ios\\SQLite.xcodeproj\\project.pbxproj", "podfile": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage\\Podfile", "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage\\react-native-sqlite-storage.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage\\platforms\\ios\\SQLite.xcodeproj", "projectName": "SQLite.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage\\platforms\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-sqlite-storage", "packageImportPath": "import org.pgsqlite.SQLitePluginPackage;", "packageInstance": "new SQLitePluginPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-svg": { "root": "D:\\AwesomeProject\\node_modules\\react-native-svg", "name": "react-native-svg", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-svg\\apple", "folder": "D:\\AwesomeProject\\node_modules\\react-native-svg", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-svg\\apple\\RNSVG.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-svg\\RNSVG.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-svg\\apple\\RNSVG.xcodeproj", "projectName": "RNSVG.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-svg\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-svg", "packageImportPath": "import com.horcrux.svg.SvgPackage;", "packageInstance": "new SvgPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-thermal-receipt-printer": { "root": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer", "name": "react-native-thermal-receipt-printer", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer\\ios\\RNThermalReceiptPrinter.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer\\react-native-thermal-receipt-printer.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer\\ios\\RNThermalReceiptPrinter.xcodeproj", "projectName": "RNThermalReceiptPrinter.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-thermal-receipt-printer", "packageImportPath": "import com.pinmi.react.printer.RNPrinterPackage;", "packageInstance": "new RNPrinterPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-vector-icons": { "root": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons", "name": "react-native-vector-icons", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons", "folder": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons\\RNVectorIcons.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons\\RNVectorIcons.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons\\RNVectorIcons.xcodeproj", "projectName": "RNVectorIcons.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-vector-icons", "packageImportPath": "import com.oblador.vectoricons.VectorIconsPackage;", "packageInstance": "new VectorIconsPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-webview": { "root": "D:\\AwesomeProject\\node_modules\\react-native-webview", "name": "react-native-webview", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-webview\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-webview", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-webview\\ios\\RNCWebView.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-webview\\react-native-webview.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-webview\\ios\\RNCWebView.xcodeproj", "projectName": "RNCWebView.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-webview\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-webview", "packageImportPath": "import com.reactnativecommunity.webview.RNCWebViewPackage;", "packageInstance": "new RNCWebViewPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] }, "react-native-version-check": { "root": "D:\\AwesomeProject\\node_modules\\react-native-version-check", "name": "react-native-version-check", "platforms": { "ios": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-version-check\\ios", "folder": "D:\\AwesomeProject\\node_modules\\react-native-version-check", "pbxprojPath": "D:\\AwesomeProject\\node_modules\\react-native-version-check\\ios\\RNVersionCheck.xcodeproj\\project.pbxproj", "podfile": null, "podspecPath": "D:\\AwesomeProject\\node_modules\\react-native-version-check\\react-native-version-check.podspec", "projectPath": "D:\\AwesomeProject\\node_modules\\react-native-version-check\\ios\\RNVersionCheck.xcodeproj", "projectName": "RNVersionCheck.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [], "configurations": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\node_modules\\react-native-version-check\\android", "folder": "D:\\AwesomeProject\\node_modules\\react-native-version-check", "packageImportPath": "import io.xogus.reactnative.versioncheck.RNVersionCheckPackage;", "packageInstance": "new RNVersionCheckPackage()", "buildTypes": [] } }, "assets": [], "hooks": {}, "params": [] } }, "commands": [ { "name": "log-ios", "description": "starts iOS device syslog tail" }, { "name": "run-ios", "description": "builds your app and starts it on iOS simulator", "examples": [ { "desc": "Run on a different simulator, e.g. iPhone SE (2nd generation)", "cmd": "react-native run-ios --simulator \"iPhone SE (2nd generation)\"" }, { "desc": "Pass a non-standard location of iOS directory", "cmd": "react-native run-ios --project-path \"./app/ios\"" }, { "desc": "Run on a connected device, e.g. Max's iPhone", "cmd": "react-native run-ios --device \"Max's iPhone\"" }, { "desc": "Run on the AppleTV simulator", "cmd": "react-native run-ios --simulator \"Apple TV\" --scheme \"helloworld-tvOS\"" } ], "options": [ { "name": "--simulator <string>", "description": "Explicitly set simulator to use. Optionally include iOS version between parenthesis at the end to match an exact version: \"iPhone 6 (10.0)\"", "default": "iPhone 13" }, { "name": "--configuration <string>", "description": "Explicitly set the scheme configuration to use", "default": "Debug" }, { "name": "--scheme <string>", "description": "Explicitly set Xcode scheme to use" }, { "name": "--project-path <string>", "description": "Path relative to project root where the Xcode project (.xcodeproj) lives.", "default": "ios" }, { "name": "--device [string]", "description": "Explicitly set device to use by name. The value is not required if you have a single device connected." }, { "name": "--udid <string>", "description": "Explicitly set device to use by udid" }, { "name": "--no-packager", "description": "Do not launch packager while building" }, { "name": "--verbose", "description": "Do not use xcbeautify or xcpretty even if installed" }, { "name": "--port <number>", "default": 8081 }, { "name": "--terminal <string>", "description": "Launches the Metro Bundler in a new window using the specified terminal path." } ] }, { "name": "log-android", "description": "starts logkitty" }, { "name": "run-android", "description": "builds your app and starts it on a connected Android emulator or device", "options": [ { "name": "--root <string>", "description": "[DEPRECATED - root is discovered automatically] Override the root directory for the android build (which contains the android directory)", "default": "" }, { "name": "--variant <string>", "description": "Specify your app's build variant", "default": "debug" }, { "name": "--appFolder <string>", "description": "[DEPRECATED – use \"project.android.appName\" in react-native.config.js] Specify a different application folder name for the android source. If not, we assume is \"app\"" }, { "name": "--appId <string>", "description": "Specify an applicationId to launch after build. If not specified, `package` from AndroidManifest.xml will be used.", "default": "" }, { "name": "--appIdSuffix <string>", "description": "Specify an applicationIdSuffix to launch after build.", "default": "" }, { "name": "--main-activity <string>", "description": "Name of the activity to start", "default": "MainActivity" }, { "name": "--deviceId <string>", "description": "builds your app and starts it on a specific device/simulator with the given device id (listed by running \"adb devices\" on the command line)." }, { "name": "--no-packager", "description": "Do not launch packager while building" }, { "name": "--port <number>", "default": 8081 }, { "name": "--terminal <string>", "description": "Launches the Metro Bundler in a new window using the specified terminal path." }, { "name": "--tasks <list>", "description": "Run custom Gradle tasks. By default it's \"installDebug\"" }, { "name": "--no-jetifier", "description": "Do not run \"jetifier\" – the AndroidX transition tool. By default it runs before Gradle to ease working with libraries that don't support AndroidX yet. See more at: https://www.npmjs.com/package/jetifier." }, { "name": "--active-arch-only", "description": "Build native libraries only for the current device architecture for debug builds.", "default": false } ] }, { "name": "setup-ios-permissions", "description": "Update react-native-permissions podspec to link additional permission handlers." } ], "assets": [ "D:\\AwesomeProject\\node_modules\\@ant-design\\icons-react-native\\fonts\\antfill.ttf", "D:\\AwesomeProject\\node_modules\\@ant-design\\icons-react-native\\fonts\\antoutline.ttf" ], "healthChecks": [], "platforms": { "ios": {}, "android": {} }, "project": { "ios": { "sourceDir": "D:\\AwesomeProject\\ios", "folder": "D:\\AwesomeProject", "pbxprojPath": "D:\\AwesomeProject\\ios\\AwesomeProject.xcodeproj\\project.pbxproj", "podfile": "D:\\AwesomeProject\\ios\\Podfile", "podspecPath": null, "projectPath": "D:\\AwesomeProject\\ios\\AwesomeProject.xcodeproj", "projectName": "AwesomeProject.xcodeproj", "libraryFolder": "Libraries", "sharedLibraries": [], "plist": [], "scriptPhases": [] }, "android": { "sourceDir": "D:\\AwesomeProject\\android", "isFlat": true, "folder": "D:\\AwesomeProject", "stringsPath": "D:\\AwesomeProject\\android\\app\\src\\main\\res\\values\\strings.xml", "manifestPath": "D:\\AwesomeProject\\android\\app\\src\\main\\AndroidManifest.xml", "buildGradlePath": "D:\\AwesomeProject\\android\\build.gradle", "settingsGradlePath": "D:\\AwesomeProject\\android\\settings.gradle", "assetsPath": "D:\\AwesomeProject\\android\\app\\src\\main\\assets", "mainFilePath": "D:\\AwesomeProject\\android\\app\\src\\main\\java\\com\\awesomeproject\\MainApplication.java", "packageName": "com.awesomeproject", "packageFolder": "com\\awesomeproject", "appName": "app" } } } D:\AwesomeProject>
08-15
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值