XCode 9 在标签本地化编辑时崩溃

5

背景: Xcode 9.0 (9A235)

当我尝试为我的故事板标签的本地化注释(插入Barty Crouch标记#bc-ignore!)时,XCode 9会崩溃。

此外,尝试编辑字体没有任何反应。

在我看来,这似乎是一个已损坏的故事板,特别是在合并之后。

是否有解决方法以避免崩溃,还是我必须手动编辑故事板?

Process:               Xcode [66619]
Path:                  /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:            com.apple.dt.Xcode
Version:               9.0 (13247)
Build Info:            IDEFrameworks-13247000000000000~26
App Item ID:           497799835
App External ID:       823595305
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Xcode [66619]
User ID:               501

Date/Time:             2017-10-03 15:59:00.562 +0200
OS Version:            Mac OS X 10.12.6 (16G29)
Report Version:        12
Anonymous UUID:        3A288ABF-30D0-A9E7-A02E-4BBD3B1BABB5

Sleep/Wake UUID:       22E57F41-2180-4AB1-AA1D-B1DCF99E683E

Time Awake Since Boot: 320000 seconds
Time Since Wake:       26000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
ProductBuildVersion: 9A235
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-13196/InterfaceBuilderKit/Utilities/IBAppKitSupport.m:388
Details:  Unknown systemFontType: 132
Object:   <NSFont: 0x7fc74354c640>
Method:   -metaFont
Thread:   <NSThread: 0x7fc73a40f910>{number = 1, name = main}
Hints:   

Backtrace:
  0   -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   -[NSFont(MethodsBasedOnPrivateState) metaFont] (in IDEInterfaceBuilderKit)
  4   -[NSFont(IBDocumentArchiving) archiveWithDocumentArchiver:] (in IDEInterfaceBuilderKit)
  5   __51-[IBDocumentArchiver archiveObject:forOptionalKey:]_block_invoke (in IDEInterfaceBuilderKit)
  6   -[IBDocumentArchiver recurseWithArchiveToken:usingBlock:] (in IDEInterfaceBuilderKit)
  7   -[IBDocumentArchiver recurseWithElementNamed:forObject:kind:invokingBlock:] (in IDEInterfaceBuilderKit)

我有完全相同的问题。你找到解决方法了吗? - ludvigeriksson
还没有,我们在文本编辑器中结束了故事板文件的编辑... - Pierre Mardon
{btsdaf} - user805981
2个回答

4
即使是全新的空项目,在编辑本地化注释时也会崩溃。这是Xcode 9的一个问题。
解决方法是通过手动编辑.storyboard文件,添加类似于以下代码块(直接在<label>块内添加):
<attributedString key="userComments">
    <fragment content="Here goes your comment...">
        <attributes>
            <font key="NSFont" metaFont="smallSystem"/>
            <paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
        </attributes>
    </fragment>
</attributedString>

似乎这是唯一正确的答案,我会编辑我的问题以更精确地说明(Xcode的版本)。另一个解决方案将是(希望)在更新可用时升级Xcode。 - Pierre Mardon
字体信息的目的是什么?把它们省略掉似乎无害——应用程序仍然可以运行,XLIFF导出文件中有注释。 - Andrew Duncan

0
  1. 清理 Xcode DerivedData 文件夹。

  2. 重新运行 Xcode。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接