Używam unlocalized sznurki i coraz niżej ostrzeżeniazwalczaniu tekst użytkownika, powinny skorzystać zlokalizowane ciąg makro ostrzeżenie
użytkownika skierowana tekst powinien używać zlokalizowane ciąg makro
Jak pominąć to ostrzeżenie?
Używam unlocalized sznurki i coraz niżej ostrzeżeniazwalczaniu tekst użytkownika, powinny skorzystać zlokalizowane ciąg makro ostrzeżenie
użytkownika skierowana tekst powinien używać zlokalizowane ciąg makro
Jak pominąć to ostrzeżenie?
Z brzękiem documentation:
można stłumić ostrzeżenia Analyzer (i udokumentować swoją intencję) z funkcji, która po prostu zwraca swoje wejście, ale nie jest opatrzony adnotacją powrócić zlokalizowaną ciąg:
__attribute__((annotate("returns_localized_nsstring")))
static inline NSString *LocalizationNotNeeded(NSString *s) {
return s;
}
[field setStringValue:LocalizationNotNeeded(@"Debug")];
niektórych projektów może również okazać się użyteczne użycie NSLocalizedString, ale dodać "DNL" lub "Nie lokalizuj" do treści ciągu znaków:
w projekcie Ustawienia kompilacji: "Analizator statyczny - problemy - Apple APIs" Ustaw "Brak lokalizacji" na nr
również upewnij się, że nie masz żadnych lokalizacji, w przeciwnym razie xcode 9 wyświetli ostrzeżenie, aby ponownie włączyć ostrzeżenia "Brak lokalizacji".
było to trudniejsze dla mnie, musiałem otworzyć plik projektu (project.pbxproj) za pomocą edytora tekstu i ręcznie opróżnić listę „knownRegions” w przeciwnym razie nie byłoby pozostać usunięte
Albo po prostu nie używać zlokalizowane makro ciąg sugerowane przez Xcode:
NSLocalizedString(@"My string that was giving me warnings", nil)
Inna możliwość jest taka:
[NSMutableString stringWithString:@"Debug"];