odatagen 由于未捕获的异常“NSRangeException”而终止应用程序
请帮我解决以下 odatagen 问题:
命令行:./odatagen /uri=http://odata.netflix.com/v1/Catalog/ /out=/Users/sontmai/Desktop/ODatagenApp
异常:
2011-05- 20 14:14:14.056 odatagen[3356:903] * 由于未捕获的异常而终止应用程序'NSRangeException',原因:' -[NSPathStore2 substringToIndex:]:范围或索引超出范围' ** 第一次抛出时调用堆栈: ( 0 核心基础 0x900da6ba __raiseError + 410 1 libobjc.A.dylib 0x99836509 objc_异常_抛出 + 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 ) 跟踪/BPT 陷阱
Please help me to fix the following odatagen issue:
Command line: ./odatagen /uri=http://odata.netflix.com/v1/Catalog/ /out=/Users/sontmai/Desktop/ODatagenApp
Exception:
2011-05-20 14:14:14.056 odatagen[3356:903] * Terminating app due to uncaught exception 'NSRangeException', reason: ' -[NSPathStore2 substringToIndex:]: Range or index out of bounds'
** Call stack at first throw:
(
0 CoreFoundation 0x900da6ba __raiseError + 410
1 libobjc.A.dylib 0x99836509 objc_exception_throw + 56
2 CoreFoundation 0x900da3e8 +[NSException raise:format:arguments:] + 136
3 CoreFoundation 0x900da35a +[NSException raise:format:] + 58
4 Foundation 0x99411120 -[NSString substringToIndex:] + 133
5 odatagen 0x00002f39 getFileName + 176
6 odatagen 0x00003742 main + 347
7 odatagen 0x00001d75 start + 53
8 ??? 0x00000003 0x0 + 3
)
Trace/BPT trap
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看来 odatagen 并不是为 Mac 用户编写的。
中存在的文件
odatagen 依赖于目录 。因此,如果在 XCode 中打开 .../ProjectFiles/Framework/src/odatagen/odatagen.xcodeproj 并编译,导航到新的 odatagen 可执行文件,它应该可以工作。
但是,如果您像我一样并且不编译到默认位置,那么它仍然无法工作。 odatagen 需要包含其路径。
您可以恢复到默认位置进行构建,也可以设置自定义构建目录或将 odatagen 可执行文件移动到必要的位置。
It seems that the odatagen was not written with Mac users in mind.
odatagen relies on files that exist in
directory. Thus if open .../ProjectFiles/Framework/src/odatagen/odatagen.xcodeproj in XCode and compile, navigate to the new odatagen executable it should work.
However, if you are like me and do not compile to the default location then it still will not work. The odatagen requires the its path include
You can either revert to build to the default location or set a custom build directory or move the odatagen executable to the necessary location.