钛sdk - [TiUtils isIOS9OrGreater]:无法识别的选择器发送到类0x1006f7610

时间:2016-02-11 20:55:53

标签: xcode crash appcelerator-titanium

sdk 3.5.1.GA
Xcode
  6.4 (build 6E35b) - Xcode default
    Install Location          = /Applications/Xcode.app/Contents/Developer
    iOS SDKs                  = 8.4
    iOS Simulators            = 8.4
    Supported by TiSDK 3.5.1.GA = yes

更新:当代码tiTouchIdHandler.js需要tiTouchIdHandler = require('tiTouchIdHandler');模块时应用程序崩溃任何想法为什么require()会失败?有人建议我的配置调用错误的模块,如[TiUtils isIOS9OrGreater]消息所示。我重命名了该文件,重新启动了该应用,并收到了[ERROR] Script Error Couldn't find module: tiTouchIdHandler for architecture: x86_64。所以,据我所知,它指向了正确的模块。

昨天,我在我的代码上运行了xcode Instruments内存泄漏测试,没有明显的问题。我是第一次,也是唯一一次这样做。今天,在尝试构建时,我在应用启动时收到此错误:[TiUtils isIOS9OrGreater]: unrecognized selector sent to class 0x1006f7610。我以为是代码,所以我从回购中提取了一份新副本,清理了项目并运行它。一样。然后我尝试在genymotion中运行 - 安卓版本工作正常。

我安装了xcode 6和7,因此我卸载了两个,重新安装了6,重新启动了计算机,然后尝试使用此CLI运行应用程序

ti build --platform "ios" --target "simulator" --ios-version "8.4" --sim-version "8.4" --device-family "universal" --device-id "FF64FA87-57D3-46AE-A57F-92AA69585D0C" --sdk "3.5.1.GA"

结果相同。我也试过运行一个示例通用应用程序。示例应用程序正确运行。其他开发人员可以毫无问题地编译和运行应用程序的ios版本。它只是我的Xcode安装。

现在我不确定乐器与我的问题有什么关系。我也不知道为什么重新安装这些工具并不起作用。我不确定xcode是否会将文件藏在某处或将内容放入钥匙串中。我所知道的是,我无法在我特定的Xcode安装中构建这个特定的应用程序。没有任何意义。我非常感谢您提供的任何疑难解答提示。感谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

Finally resolved the problem. Although, unfortunately, I don't know what the root cause was. My colleague sent me his sdk folder. I dropped it into place ~/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA - after uninstalling/reinstalling the entire toolchain - and the app builds again. Some unknown thing corrupted the ti.touchid file. Blowing it away and starting fresh was the only thing I found to fix it. Hope this answer saves someone else the 8 work hours I lost trying to resolve it.