2011-05-20 136 views
3

请帮我解决以下问题odatagen:odatagen终止应用程序由于未捕获的异常“NSRangeException”

命令行:./odatagen /uri=http://odata.netflix.com/v1/Catalog/输入/输出= /用户/ sontmai /桌面/ ODatagenApp

例外:

2011-05-20 14:14:14.056 odatagen [3356:903] *终止应用程序由于未捕获的异常 'NSRangeException',原因:' - [NSPathStore2 substringToIndex:]:范围或索引超出范围' * *在第一掷调用堆栈: ( 0的CoreFoundation 0x900da6ba __raiseError + 410 1 libobjc.A.dylib 0x99836509 objc_exception_throw + 56 2的CoreFoundation 0x900da3e8 + [NSException提高:格式:参数:] + 136 3的CoreFoundation 0x900da35a + [ NSException提高:格式:] + 58 4基金会0x99411120 - [NSString的substringToIndex:] + 133 5 odatagen 0x00002f39 +的getFileName 176 6 odatagen 0x00003742主+ 347 7 odatagen 0x00001d75启动+ 53 8 ??? 0x00000003 0x0 + 3 ) Trace/BPT陷阱

回答

4

看起来,odatagen并未与Mac用户一起编写。

odatagen依赖于存在于

.../ProjectFiles/Framework/src/odatagen/ 

目录中的文件。因此,如果在XCode中打开.../ProjectFiles/Framework/src/odatagen/odatagen.xcodeproj并编译,导航到它应该工作的新odatagen可执行文件。

但是,如果你像我一样,不编译到默认位置,那么它仍然无法工作。该odatagen要求其路径包括

.../ProjectFiles/Framework/src/odatagen/build/... 

您可以恢复到建立到默认位置,或者设置自定义生成目录或移动odatagen可执行必要的位置。

+0

谢谢Simo。我打开odatagen项目并修改文件路径来修复错误。它现在有效。 – 2011-06-04 02:16:13

+0

我刚刚上传了一个补丁到codeplex,它使得odatagen二进制文件和XSL文件可以共存于任何目录中,应该可以帮助其他任何人。 – Hugo 2011-07-10 05:14:54

相关问题