反应本机应用程序仅通过xcode启动

时间:2016-12-09 15:27:29

标签: ios iphone react-native

我使用react native framework

创建了一个移动应用程序

但它只是从xcode开始,如果我尝试从iPhone开启应用程序它不会启动

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

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

来自React Native官方网站的设备指南: https://facebook.github.io/react-native/docs/running-on-device.html

答案 1 :(得分:1)

今天我也遇到了这个问题,将React Native从~32升级到39.2(我已经很久没用过了,这就是我想说的。)

我通过以下方式解决了这个问题:

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

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

  3. 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];