0

我为 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
4

1 回答 1

2

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

由于没有完全访问所有已执行代码的权限就无法回答这个问题,所以这是一种更通用的答案,您可以将其用作调试应用程序为何无法在某些平台或操作系统上运行的指南

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

如果它没有在模拟器中发生,但它在设备上看起来是否有任何代码仅在设备上运行而不在模拟器上运行。例如,伪造地理位置。

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

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

您还可以查看错误记录器和捕获器。例如这篇博文

uncaughtException您还可以监听一个触发事件:

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

像这样听它:

Ti.App.addEventListener('uncaughtException', function(error){
    // handle error here
}
于 2016-11-20T12:20:38.760 回答