2017-01-04 38 views
7

Kiedy mój WKInterfaceController pojawił się po naciśnięciu menuItem (które zostało ustawione przez "self.addMenuItem w mainScreen"), tytuł na poprowadzonym WKInterfaceController pokazuje " abbrechen "zamiast" Cancel ". Ktoś wie, jak to naprawić, aby było wyświetlane "Cancel"? Albo jak tam, gdzie prawdopodobnie popełniłem błąd?Etykieta "Anuluj" z modalnej segregacji w Apple Watch przedstawiająca nieprawidłowy tekst - "abbrechen"

//MainScreen.swift 
func setContextItems(directToEnabled: Bool) { 
     self.clearAllMenuItems() 
     self.addMenuItem(with: WKMenuItemIcon.decline, title: "direct", action: #selector(MainScreen.freePressed)) 
} 

Clues:

  • zdarza się tylko w moim urządzeniu Apple Obserwować (WatchOS 3.1). Po uruchomieniu na symulatorze (Xcode 8.2.1, iPhone 7 plus), działa poprawnie, pokazując "Anuluj" .
  • My Langauge & Region jest zarówno angielski. "Langauge & Region" w mojej aplikacji Watch i ustawieniu mojego iPhone'a są zarówno po angielsku dla języka, jak i Australii dla regionu.
  • "abbrechen" to "abort" lub "cancel" w języku niemieckim.
  • Na urządzeniu SO istnieje related question.
  • Może zmieniłem jakieś ustawienie plist dla langauge gdzieś.
  • Szukałem mojego projektu, a nie mogę znaleźć słowa kluczowe takie jak "niemiecki", "Abbrechen"
  • I nie używane "#if (TARGET_OS_IOS || TARGET_IPHONE_SIMULATOR)", ale nic nie związanych.

Chyba mogę zmienić plik gdzieś, który zmienia ustawienia/laguage tylko na Apple Watch. A może to rzadki błąd WatchOS. Czy ktoś wcześniej widział podobny problem?

Odpowiedz

1

Sprawdź, czy zastępujesz ustawienia językowe podczas instalacji przez Xcode. Można to zrobić za pomocą edytora schematów w Xcode:

  • Kliknij cel w menu Uruchom miejsce docelowe i wybierz Edytuj schemat.
  • Po prawej stronie wybierz Opcje.
  • Sprawdź Application Language ustawienie

scheme editor language settings

Więcej informacji o Testing Specific Languages and Regions (@developer.apple.com)

+0

Domyślnie był to "język systemu", który powinien być angielski. Zmieniłem go na angielski, ale nie działa. Dzięki za udostępnienie tej metody, nie próbowałem tego. – allenlinli

1

jestem trochę zdezorientowany przez Ciebie kod? Dajesz mu tytuł "bezpośredni", ale oczekujesz tytułu "Anuluj"?

Jeżeli nie masz robić:

self.clearAllMenuItems() 
    self.addMenuItem(withImageNamed: "imageFileForDirectButton", title: "Direct", action: #selector(TheController.menuDirectButtonPressedFunction)) 
    self.addMenuItem(with: WKMenuItemIcon.decline, title: "Cancel", action: #selector(TheController.menuCancelButtonPressedFunction)) 
+0

Tytuł pokazujący tutaj to tytuł dla itemMenu, ale to, o co pytam, tytuł popkultury WKInterfaceController. – allenlinli

0

Czy próbowałeś nadrzędnymi tytuł?

override func awake(withContext context: Any?) 
{ 
    self.setTitle("Cancel")  
    super.awake(withContext: context) 
} 

override func willActivate() 
{ 
    self.setTitle("Cancel") 
}