加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Xcode 8本地化导入崩溃

发布时间:2020-12-14 17:59:32 所属栏目:百科 来源:网络整理
导读:当我导入项目的本地化时,Xcode(8.1)崩溃了. 它在我导出时崩溃,然后导入相同的xliff文件而不进行修改. 这是xliff文件:http://ge.tt/7J5UY3i2 以下是完整的崩溃报告http://pastebin.com/JsJFeCqB.有关此的任何提示或解决方法吗? Application Specific Inform
当我导入项目的本地化时,Xcode(8.1)崩溃了.
它在我导出时崩溃,然后导入相同的xliff文件而不进行修改.

这是xliff文件:http://ge.tt/7J5UY3i2

以下是完整的崩溃报告http://pastebin.com/JsJFeCqB.有关此的任何提示或解决方法吗?

Application Specific Information:
ProductBuildVersion: 8B62
UNCAUGHT EXCEPTION (NSInvalidArgumentException): -[Xcode3VariantGroup addToTargetDefaultResourcesBuildPhase:]: unrecognized selector sent to instance 0x7fe69615cba0
UserInfo: (null)
Hints: None

Backtrace:
  0   __exceptionPreprocess (in CoreFoundation)
  1   DVTFailureHintExceptionPreprocessor (in DVTFoundation)
  2   objc_exception_throw (in libobjc.A.dylib)
  3   -[NSObject(NSObject) doesNotRecognizeSelector:] (in CoreFoundation)
  4   ___forwarding___ (in CoreFoundation)
  5   _CF_forwarding_prep_0 (in CoreFoundation)
  6   __81+[IDELocalizationWork fileReferenceStreamForName:directoryPath:superitem:target:]_block_invoke (in IDEFoundation)
  7   __33-[IDEStream(IDEStreamMonad) map:]_block_invoke (in IDEFoundation)
  8   __24-[_IDEStreamMap onNext:]_block_invoke_4 (in IDEFoundation)
  9   -[_DVTTimeSlicedMainThreadOrderedUniquingWorkQueue _processWorkItemsWithDeadline:] (in DVTFoundation)
 10   -[DVTTimeSlicedMainThreadWorkQueue _processWithDeadline:] (in DVTFoundation)
 11   -[_DVTTimeSlicedMainThreadActiveWorkQueues _processWorkQueuesOnDeadline] (in DVTFoundation)
 12   __NSFireDelayedPerform (in Foundation)
 13   __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ (in CoreFoundation)
 14   __CFRunLoopDoTimer (in CoreFoundation)
 15   __CFRunLoopDoTimers (in CoreFoundation)
 16   __CFRunLoopRun (in CoreFoundation)
 17   CFRunLoopRunSpecific (in CoreFoundation)
 18   RunCurrentEventLoopInMode (in HIToolbox)
 19   ReceiveNextEventCommon (in HIToolbox)
 20   _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
 21   _DPSNextEvent (in AppKit)
 22   -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
 23   -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
 24   -[NSApplication run] (in AppKit)
 25   NSApplicationMain (in AppKit)
 26   start (in libdyld.dylib)

解决方法

这个问题杀了我.该工具可以/应该工作,让你的生活更轻松,但事实并非如此.我在夏天遇到了这个问题,并在第一个项目符号中使用了info.plist提示进行修复,但我最近更新了项目,我又回到了xliff例外地狱.从好的方面来说,我目前的崩溃似乎是在它完成工作之后发生的,所以我能够继续工作.

有很多事情可能会出错并导致导入崩溃.通常Xcode只是闪烁不存在.如果你想在崩溃前看到一些信息,请使用xcodebuild:

xcodebuild -verbose -importLocalizations -localizationPath "lang.xliff" -project ./myProject.xcodeproj

>本地化时,请勿将语言直接添加到info.plist.而是将InfoPlist.Strings文件添加到项目中并将语言添加到项目中.您可能需要在每个lang.lproj文件夹中手动创建该文件.确保在base.lproj以外的任何lang.lproj文件夹中没有info.plist文件.
>本地化Settings.bundle时,请创建lang.lproj文件夹.创建Root.strings文件时,大小写很重要.它必须是“Root.strings”,否则它可能适用于iOS,但它不适用于iOS模拟器.
>环顾你的项目结构.使用崩溃工具后,最终会在错误的位置放置一堆文件.您可以在项目的根组中拥有Localized.Strings文件.删除那些.
>仅使用base.lproj而不是en.lproj,因此如果在项目中找到它们,请手动删除en.lproj文件.
> XLIFF文件确实需要格式良好,但我不认为这会导致崩溃.
>不适合你,但据说在Xcode 7中有一个特定的崩溃修复,所以请确保你是最新的,以避免那个,至少.

我有一些与xliff一起生活的python脚本.他们需要在某些脚本中更新源路径,但从长远来看它们可能有所帮助:https://github.com/danloughney/xliffHell

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读