当我在 iPad 设备 - Titanium Appcelerator 上尝试时,我的应用程序没有退出启动画面

My application does not exit the splash screen when I try on the iPad Device - Titanium Appcelerator

我为 iOS 构建了一个应用程序......它在模拟器上完美运行,并且在 TestFlight 的测试中也是如此,除了当我尝试将这个应用程序放在我的 iPad,它甚至可以安装,但会停在初始屏幕上。

#IOS version on iPad
    8.4.1
#Xcode Version:
    8.1
#IOS SDK'S: 
    10.1

#Operating System  
    Name = Mac OS X
    Version = 10.12  
    Architecture = 64bit  
    CPUs = 4  
    Memory = 4.0GB  

#Nodejs  

    Node.js Version = 4.6.0  
    Npm Version = 2.15.9

#Appcelerator CLI

    Installer = 4.2.7
    Core Package = 5.5.1

#Titanium Cli

    CLI Version = 5.0.9  
    Node-appc Version = 0.2.31

每当应用程序停止在 splash screen 时,这意味着您的应用程序中发生了严重错误,该错误会阻止任何进一步的代码执行。通常在 alloy.js、索引控制器或您在第一个 window 打开之前访问的任何其他 controller/js 文件中。

如果不完全访问所有执行的代码就无法回答这个问题,这是更一般的答案,您可以将其用作调试应用程序无法在某些平台上运行的原因的指南或OS的

首先,查看适合您情况的任何代码。在你的例子中 iPad。因为您可以拥有仅在 iPad 上运行的代码,请先查看该代码。你们有 iPad 专用的控制器吗?还是代码块?看看那些!里面一定有错误。

如果它在模拟器中没有发生但在设备上确实存在,请查看您是否有任何代码只在设备上运行而不在模拟器上运行。例如伪造地理位置。

在 Titanium 中可以有特定于环境的代码。例如在开发中或仅在生产中。查看任何差异。

如果这一切都不适合您,请在您的所有代码周围使用 try, catch 处理程序并警告错误,或者通过邮件发送它们。

您还可以查看错误记录器和捕获器。例如这个blogpost

还有一个 uncaughtException 事件触发了你可以监听:

http://docs.appcelerator.com/platform/latest/#!/api/Titanium.App-event-uncaughtException

这样听:

Ti.App.addEventListener('uncaughtException', function(error){
    // handle error here
}