首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析XCode项目时抛出genstrings工具异常,中止

解析XCode项目时抛出genstrings工具异常,中止
EN

Stack Overflow用户
提问于 2011-02-27 08:45:27
回答 7查看 2.4K关注 0票数 3

我一直在使用genstrings构建字符串文件来国际化我的iPhone应用程序。然而,我最近所做的一些更改导致genstrings工具开始抛出如下错误:

代码语言:javascript
复制
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
)

是什么导致了这种情况,我如何才能在不手动更改所有内容的情况下找到导致这种情况的项目部分?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-02-27 09:17:20

这里没有简单的技巧。

将所有.m文件复制到单独的文件夹中,然后执行二进制搜索。

在一半的文件上运行genstring,看看有没有问题。找出哪一半的文件有问题,然后再做一次...

这是基因字符串中的一个bug,所以你对它无能为力。

票数 3
EN

Stack Overflow用户

发布于 2012-01-01 18:19:31

您可以使用head限制genstrings处理的文件数量。如果这是用于本地化所有文件的命令:

代码语言:javascript
复制
find . -name \*.m | xargs genstrings -o en.lproj

下面是使用head时的外观

代码语言:javascript
复制
find . -name \*.m | head -5 | xargs genstrings -o ~/Documents/GenStringsTest

只需增加head旁边的数字,然后反复运行该命令,直到它崩溃。在两次运行之间,可以删除temporary GenStrinsTest文件夹中的文件。当它崩溃时,减少这个数字,直到你现在确定它崩溃的位置,然后运行

代码语言:javascript
复制
find . -name \*.m | head -<minimum number of files for crash>

在控制台上写入的最后一个文件将是“错误的”文件。

票数 2
EN

Stack Overflow用户

发布于 2012-02-08 07:22:52

为了防止它对其他人有帮助,我在评论中使用NSLocalizedString时遇到了这个崩溃。我猜它找到了它,而且它没有参数和崩溃

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5130650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档