我一直在使用 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/

10-13 04:02