2015-09-22 10 views
9

Buduję pakiet automatyzacji za pomocą Xcode 7 z szybkim.Swift Błąd UITesting: Nieprawidłowa sekwencja escape w literale. U201c

moja aplikacja ładunki z następującym Alert Widok:

ce „światło Alarm”, aby uzyskać dostęp swoją lokalizację podczas korzystania z aplikacji?

Kiedy mogę nagrywać z UI Badań i kliknij ten alert pojawia się następujący kod: app.alerts [ "? Pozwól \ U201cLight Alarm \ U201c dostęp do swojej lokalizacji podczas korzystania z aplikacji"]

Uwaga: cytaty został zastąpiony \ U201c

jednak gdy próbuję skompilować i pojawia się następujący błąd: „Nieprawidłowy sekwencji ucieczki w dosłowny”

Ktoś wie jak to obejść?

+0

To wydaje się być błąd Xcode podczas generowania kodu podczas testów UI, porównaj http://stackoverflow.com/questions/32432068/incomplete-universal-character-name- In-ui-testing dla podobnego problemu. –

+0

Uwaga: Problem polega na tym, że * nie * OP nie wie, w jaki sposób unikać znaków Unicode w łańcuchach. Jest to kod * utworzony przez Xcode * podczas nagrywania testu interfejsu użytkownika. –

+0

To prawda. To jest błąd Xcode podczas generowania kodu. Jakieś pomysły, które kod "powinien" stworzyć, jak na pytanie? –

Odpowiedz

14

To wydaje się być błędem w Xcode podczas generowania kodu podczas nagrywania interfejsu użytkownika. Swift wykorzystuje \u{NNNN} sekwencje w napisowych, więc

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

byłoby poprawne, lub po prostu

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

(Właściwie powinno być "Allow “Light Alarm” ..." gdzie drugi cudzysłów jest U + 201D = RIGHT DOUBLE ZNAK CYKOWANIA :)

Podobny problem dotyczący kodu zarejestrowanego w interfejsie użytkownika w Objective-C został zgłoszony w Incomplete universal character name in UI Testing.

Nie wiem obejścia, wydaje się, że jedyną rzeczą, którą można zrobić jest obecnie naprawić kod po nagraniu (i wysłał raport o błędzie do Apple).

+0

To bardzo dziwne, ponieważ twoje cytaty idealnie pasują do tego, co jest na ekranie, ale mimo że wyświetla się UIAlertView, otrzymuję fałszywą wartość boolowską zwracaną przez zapytanie: return app.alerts ["Pozwól" Light Alarm ", aby uzyskać dostęp do Twojej lokalizacji, podczas gdy korzystać z aplikacji? "]. istnieje –

+0

@CharlieSeligman: Będziesz musiał użyć' app.alerts ["Allow" Light Alarm "..."] '. - Moja uwaga * "Właściwie powinno być ..." * miała jedynie na celu delikatne przypomnienie, że istnieją dwa różne (prawy i lewy) cudzysłów. Twój kod używa tylko lewego podwójnego cudzysłowu. –

+0

Czy to oznacza dodawanie znaczników do widoków, czy wystarczy przekształcić wartość Unicode wstawioną przez Swift? – IIllIIll

0

Instalacja Xcode 7.3 ustalony ten problem dla mnie

Powiązane problemy