【问题标题】:react native app starts only through xcodereact native app 只能通过 xcode 启动
【发布时间】:2016-12-09 15:27:29
【问题描述】:

我使用 react native 框架创建了一个移动应用程序

但它只能通过 xcode 启动,如果我尝试从 iphone 打开应用程序它不会启动

当我通过 xcode (myapp.xcodeproj) 打开它时它工作正常,它在 iphone 上构建应用程序,然后打开它没有问题

可能是什么问题?

【问题讨论】:

    标签: ios iphone react-native


    【解决方案1】:

    React Native 官网的设备上运行指南: https://facebook.github.io/react-native/docs/running-on-device.html

    【讨论】:

      【解决方案2】:

      我今天也遇到这个问题,把React Native从~32升级到39.2之后(好久没用了,就是想说)。

      我通过以下操作修复了它:

      1. 完全禁用 ATS(不确定是否真的需要它,因为我想在没有连接服务器的情况下在本地运行设备,但此时我不敢问);您可以在此处阅读更多信息:https://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

      2. 在运行之前构建应用程序(我认为这是主要的事情)。所以我不记得以前这样做了,但是在我升级之后,这似乎是正确的做法:

      a) 确保您的手机已通过 USB 数据线连接到 Mac

      b) 在 Xcode 中,转到 Product -> Build for -> Running

      c) 等待它构建(这不会运行应用程序,所以请耐心等待)

      d) 像往常一样运行应用程序

      我想就是这样!然后你就可以断开手机了。至少它对我有用;希望它也能帮助你。

      UPD:仍然不起作用!

      今天晚些时候,我再次尝试启动我的应用程序,发现我的建议碰巧没用 - 奇怪的是,这一次并没有解决这个问题......但不用担心 - 我不知何故让它再次工作!

      我所做的是转到我的 AppDelegate.m 并更改 jsCodeLocation 行看起来就像我使用较低版本的 React Native 时的样子:

      jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
      

      所以它现在可以工作......希望这会有所帮助:)

      UPD 2:当您决定在模拟器上运行代码时,不要忘记将代码改回来!

      jsCodeLocation = [[RCTBundleURLProvider sharedSettings]      
      jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-17
        • 2012-03-09
        • 2020-04-09
        • 1970-01-01
        • 1970-01-01
        • 2021-04-05
        • 1970-01-01
        • 2020-04-04
        相关资源
        最近更新 更多