我一直在使用 genstrings
来构建字符串文件来国际化我的 iPhone 应用程序。但是,我最近所做的一些更改导致 genstrings
工具开始抛出如下错误:
s1075-88:Directory jason$ genstrings -o en.lproj *.m
2011-02-26 16:42:26.941 genstrings[17962:903] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFString characterAtIndex:]: Range or index out of bounds'
*** Call stack at first throw:
(
0 CoreFoundation 0x00007fff82a267b4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x00007fff85c640f3 objc_exception_throw + 45
2 CoreFoundation 0x00007fff82a265d7 +[NSException raise:format:arguments:] + 103
3 CoreFoundation 0x00007fff82a26564 +[NSException raise:format:] + 148
4 Foundation 0x00007fff841a65e1 -[NSCFString characterAtIndex:] + 97
5 genstrings 0x0000000100001b9d 0x0 + 4294974365
6 genstrings 0x0000000100003080 0x0 + 4294979712
7 genstrings 0x0000000100003ee6 0x0 + 4294983398
8 genstrings 0x0000000100000d20 0x0 + 4294970656
)
什么可能导致这种情况,以及如何在不手动更改所有内容的情况下找到导致它的项目部分?
最佳答案
这里没有简单的技巧。
将所有 .m 文件复制到一个单独的文件夹,然后进行二进制搜索。
对一半文件运行 genstrings 并查看问题是否存在。找出哪一半文件有问题,然后再做一次...
这是 genstrings 中的一个错误,因此您无能为力。
关于iphone - genstrings 工具抛出异常,解析 XCode 项目时中止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5130650/