运行Worklight 6.1应用程序时出现iOS 9错误

时间:2015-09-23 11:44:29

标签: ios ibm-mobilefirst

我们尝试在iOS 9上运行WL 6.1 Fix Pack FP02应用,并在main.m文件中出现以下错误:

‘Application windows are expected to have a root view controller at the end of application launch’
The exception is thrown on this line of main.m:
int retVal = UIApplicationMain(argc, argv, appClass, @”MyAppDelegate”);

非常感谢任何帮助。

下面是xcode 7的堆栈跟踪:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'
*** First throw call stack:
(
    0   CoreFoundation                      0x047e0a94 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x0429fe02 objc_exception_throw + 50
    2   CoreFoundation                      0x047e092a +[NSException raise:format:arguments:] + 138
    3   Foundation                          0x00f0e3e6 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118
    4   UIKit                               0x012b3568 -[UIApplication _runWithMainScene:transitionContext:completion:] + 3674
    5   UIKit                               0x012d6905 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke3171 + 68
    6   UIKit                               0x012afbae -[UIApplication workspaceDidEndTransaction:] + 163
    7   FrontBoardServices                  0x07c1cccc __37-[FBSWorkspace clientEndTransaction:]_block_invoke_2 + 71
    8   FrontBoardServices                  0x07c1c7a3 __40-[FBSWorkspace _performDelegateCallOut:]_block_invoke + 54
    9   FrontBoardServices                  0x07c3a1cb -[FBSSerialQueue _performNext] + 184
    10  FrontBoardServices                  0x07c3a602 -[FBSSerialQueue _performNextFromRunLoopSource] + 52
    11  FrontBoardServices                  0x07c398fe FBSSerialQueueRunLoopSourceHandler + 33
    12  CoreFoundation                      0x046fae7f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
    13  CoreFoundation                      0x046f0b0b __CFRunLoopDoSources0 + 523
    14  CoreFoundation                      0x046eff28 __CFRunLoopRun + 1032
    15  CoreFoundation                      0x046ef866 CFRunLoopRunSpecific + 470
    16  CoreFoundation                      0x046ef67b CFRunLoopRunInMode + 123
    17  UIKit                               0x012af497 -[UIApplication _run] + 540
    18  UIKit                               0x012b4cc1 UIApplicationMain + 160
    19  MYAPP                               0x00100f5d main + 157
    20  libdyld.dylib                       0x04c8ba21 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

2 个答案:

答案 0 :(得分:1)

更新

  • 使用提供的Hello World项目测试 - 失败
  • 使用最新的iFix测试 - 正常工作

请升级。

如果没有可以调试的正确示例,则很难回答,但应该注意的是,对于使用Xcode 7编译的应用程序正常运行,您需要确保至少进行以下调整:

  1. 禁用Bitcode,因为它目前不受支持。
  2. 正确定义ATS(允许所有地址,或使用HTTPS正确设置客户端应用程序,以及支持TLS 1.2的服务器)。
  3. 在此处阅读有关ATS和Bitcode的更多信息:https://developer.ibm.com/mobilefirstplatform/2015/09/09/ats-and-bitcode-in-ios9/

    看看是否可以解决此问题。如果没有,您必须提供具有复制步骤的应用程序。

    您还应该注意,6.1 Fix Pack 2非常陈旧,作为IBM客户,您应该登录IBM Fix Central并下载最新的可用iFix(用于Studio和Server)并进行升级。这个最新的iFix还包含iOS 9相关的修复程序,因此除了对Xcode 7中编译的应用程序的上述必要更改外,建议先使用它进行测试。

    从提供的示例项目中,您甚至没有使用Fix Pack 2,但是1.甚至更老......

答案 1 :(得分:0)

  

应用程序窗口应在应用程序启动结束时具有根视图控制器“

如果应用程序在启动后没有视图控制器,则会导致此错误。这可能是因为您尚未创建一个,因为您开始使用空应用程序,删除了视图控制器,或者可能是您删除了主视图控制器的入口点。