Xcode构建在设备上运行,但在Simultor上失败

迈克尔·维比

我正在将CocoaPods与React Native应用程序一起使用。在Xcode模拟器中运行构建时,我遇到了各种错误。我在设备上运行它没有任何问题。这是启用断点时得到的:

- (void)ensureOnJavaScriptThread:(dispatch_block_t)block
    {
      RCTAssert(_jsThread, @"This method must not be called before the JS thread is created");

这里的错误是绿色的(还可以,谢谢Xcode),它说 com.facebook.react.JavaScript (9): breakpoint 1.2

禁用断点时出现两个错误,这是一个:

void Instance::loadApplication(std::unique_ptr<RAMBundleRegistry> bundleRegistry,
                                   std::unique_ptr<const JSBigString> string,
                                   std::string sourceURL) {
      callback_->incrementPendingJSCalls();
      SystraceSection s("Instance::loadApplication", "sourceURL",
                        sourceURL);
      nativeToJsBridge_->loadApplication(std::move(bundleRegistry), std::move(string),
                                         std::move(sourceURL));
    }

callback_->在行读数上出现红色错误EXC_BAD_ACCESS (code=EXC_I386_GPFLT)

第二个是signal SIGABRT此代码中错误:

int main(int argc, char * argv[]) { 
  @autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
  }
}

我认为我已经通过启用僵尸解决了该问题。当我这样做时,我会在控制台中看到以下内容:

2018-07-11 16:56:08.326 [info][tid:main][RCTRootView.m:293] Running application Mapp ({
initialProps =     {
};
rootTag = 11;
})
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication setNetworkActivityIndicatorVisible:]
PID: 34682, TID: 5546845, Thread name: (none), Queue name: com.mixpanel.20e6d2c2b6c431dfecfdfaa100ec0a11.0x7fa94db06940.network, QoS: 0
Backtrace:
4   Mapp                           0x0000000103a31dd9 -[MPNetwork updateNetworkActivityIndicator:] + 121
5   Mapp                           0x0000000103a2ec09 -[MPNetwork flushQueue:endpoint:] + 985
6   Mapp                           0x0000000103a2e7b0 -[MPNetwork flushEventQueue:] + 64
7   Mapp                           0x0000000103a10418 __32-[Mixpanel flushWithCompletion:]_block_invoke + 312
8   libdispatch.dylib                   0x000000010e3f47ab _dispatch_call_block_and_release + 12
9   libdispatch.dylib                   0x000000010e3f57ec _dispatch_client_callout + 8
10  libdispatch.dylib                   0x000000010e3fdbe5 _dispatch_queue_serial_drain + 1305
11  libdispatch.dylib                   0x000000010e3fe4fa _dispatch_queue_invoke + 328
12  libdispatch.dylib                   0x000000010e3fa344 _dispatch_queue_override_invoke + 726
13  libdispatch.dylib                   0x000000010e40136c _dispatch_root_queue_drain + 664
14  libdispatch.dylib                   0x000000010e401076 _dispatch_worker_thread3 + 132
15  libsystem_pthread.dylib             0x000000010e920169 _pthread_wqthread + 1387
16  libsystem_pthread.dylib             0x000000010e91fbe9 start_wqthread + 13

这对我来说是不可读的。我不明白怎么了 提醒:即使启用了断点,此构建也不会破坏我的设备上的错误。这是我应该担心的事情吗?请帮忙!

马希帕尔·辛格

因为在您的代码中UI API called on a background thread因此,请禁用xcode主线程检查器它会工作。

编辑方案--->对角线--->运行时API检查--->主线程检查器(取消选中此设置)

在此处输入图片说明

注意:请始终在后台线程上更新以下方法内的UI

要么

把你的[UIApplication setNetworkActivityIndicatorVisible:]方法放进去DispatchQueue.main.async

    DispatchQueue.main.async { // Correct
        UIApplication.shared.isNetworkActivityIndicatorVisible = true // in swift 4
       [UIApplication setNetworkActivityIndicatorVisible:]// in objective-C
 }

https://developer.apple.com/documentation/code_diagnostics/main_thread_checker

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

递归目录创建在设备上失败

Xcode无法为iOS 13.3.1设备构建Flutter代码,但在13.3 iOS模拟器上运行代码

Heroku构建在uglifier上失败

.Net Standard 2.0构建在Teamcity上失败

Docker构建在mkdir上失败

Azure DevOps VSTS .netcore构建失败,但在我的PC上运行正常

构建在VS2019中成功,但在Azure DevOps上失败

Oozie 4.3.0构建在Hadoop 2.9.0上失败

软件包构建在R 3.6.0(开发版)上失败,但在3.5.5(发行版)上失败

Docker构建在Azure DevOps上失败

如何修复在模拟器/设备上完美运行但在存档上失败的Xcode构建?

在Xcode上构建失败

Xcode-使用AWS Frameworks的应用程序可在模拟器上运行,但在设备上崩溃

由于Webpack错误,nextJS构建在Vercel上失败

仅在SCM触发器上,第谷歌构建在詹金斯上失败

Jenkins构建在Windows上失败并显示GitLockFailedException

在Android设备上运行的预构建binutils

在Xcode 5上的构建上运行(在设备上)“旧应用”后,xcode 6.0.1崩溃

xamarin构建在模拟器上通过,但在真实设备上失败

XCode iOS构建在图像上放置蓝色调

Binutils构建在Mac OS X 10.10.5 Yosemite上失败

gitlab CI构建在我的本地docker容器上运行

构建脚本在Windows上失败,但在linux或OSX上失败

在Samsung galaxy S4设备上通过facebook SDK进行Android登录失败,但在Sony设备上运行良好

如果先前在 Jenkins 中失败,则阻止构建在同一节点上运行

Volley 在模拟器上运行但在设备上失败

VSTS 构建在获取源上失败

Android NDK 构建的库在设备上崩溃,但在模拟器中运行良好

Yocto poky 构建在函数 do_rootfs 上失败