Swift UITesting error: Invalid escape sequence in literal. \U201c

◇◆丶佛笑我妖孽 提交于 2019-12-30 06:12:09

问题


I am building an automation suite using Xcode 7 with swift.

My app loads with the following Alert View:

Allow "Light Alarm" to access your location while you use the app?

When I record with UI Testing and click this alert I get the following code: app.alerts["Allow \U201cLight Alarm\U201c to access your location while you use the app?"]

Note: The quotes has been replaced with \U201c

However, when I try and compile I get the following error: "Invalid escape sequence in literal"

Anyone know how to get round this?


回答1:


This seems to be a bug in Xcode when generating code during UI recording. Swift uses \u{NNNN} escape sequences in string literals, so

app.alerts["Allow \u{201c}Light Alarm\u{201c} ..."]

would be correct, or simply

app.alerts["Allow “Light Alarm“ ..."]

(Actually it should be "Allow “Light Alarm” ..." where the second quotation mark is U+201D = RIGHT DOUBLE QUOTATION MARK :)

A similar issue for UI recorded code in Objective-C was reported in Incomplete universal character name in UI Testing.

I do not know a workaround, it seems that the only thing you can do at present is to fix the code after recording (and sent a bug report to Apple).




回答2:


Installing Xcode 7.3 fixed this issue for me



来源:https://stackoverflow.com/questions/32712582/swift-uitesting-error-invalid-escape-sequence-in-literal-u201c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!