2015-11-23 27 views
7

CocoaPods automatycznie generuje plik Acknowledgements.plist, aby można go było uwzględnić w pliku settings.bundle.Dlaczego lista Acknowledgements.plist od CocoaPods wygląda źle na iOS 9 i co możesz z tym zrobić?

Po dodaniu this, dodałem listę Podziękowania.pl do settings.bundle.

Acknowledgements.plist wygląda następująco:

enter image description here

Wydaje się ładnie na iOS 8 tak (zgodnie z przeznaczeniem):

enter image description here

Jednak iOS 9 wkładki duże spacji między tytułem a stopkąText, co czyni go brzydkim:

enter image description here

Wygląda na to, że nie jest to plik (podziękowania), a system iOS 9 ogólnie daje ogromne pionowe odstępy między tytułem a stopką. Pytanie brzmi: jak rozwiązać tę sytuację i umieścić dobrze sformatowane podziękowania w plist?

Odpowiedz

2

Dobra obserwacja! Zauważyłem to samo jakiś czas temu. Miałem nadzieję, że to już zostało naprawione.

Investigation
Dla mnie niektóre teksty stopki są prawidłowo wyświetlane. Te były bardzo krótkie, jak tylko dwie linie. Im dłuższy jest tekst FooterText, tym większa jest pusta przestrzeń. Na przykład. Realm Database ma bardzo długi tekst licencji, który prowadzi do pustej przestrzeni większej niż jeden ekran urządzenia po tytule i przed stopką.

Edytowałem listę Acknowledgements.plist, aby sprawdzić, czy podział linii ma znaczenie: zachowując tekst tak długo, jak jest on usunięty, linia łamie się.

Wyniki
Niestety usunięcie podziałów linii nie pomaga. Tak naprawdę jest to związane z długością treści. Wygląda na to, że jest to TableView, a obliczenia wysokości wiersza są bardzo odległe.

Jednak nie znalazłem żadnego obejścia. Klucz tytułowy jest ograniczony pod względem długości, więc nie można tego użyć jako obejścia. FooterText naprawdę musi zostać naprawiony przez Apple.

I złożył je pod rdar: // 24837397

Istnieje kilka innych błędów w Settings.app systemu, które są niepokojące podczas rozwoju:

  • (crash) Otwórz podziękowaniach sekcja Twojej aplikacji. Uruchom nową wersję aplikacji do debugowania za pośrednictwem Xcode i spróbuj wrócić do Settings.app. Z powodu skopiowania nowego pliku Settings.bundle ze zaktualizowaną listą Acknowledgements.p plik Settings.app ulega awarii.
  • (Brak zawartości) Otwórz Ustawienia urządzenia i przejdź do ustawień aplikacji, ale nie otwieraj ich jeszcze. Powtórz powyższy krok i uruchom nową kompilację debugowania za pomocą Xcode. Wróć do Settings.app i spróbuj otworzyć ustawienia aplikacji: wyświetlona strona Empty settings, dostępne są tylko uprawnienia takie jak Core Location i Mobile Data. Musisz zamknąć Ustawienia.aplikacja za pomocą przełącznika zadań, aby zobaczyć nową zawartość pliku Settings.bundle.

Oprócz tych dwóch błędów daje mi to do zrozumienia, że ​​Settings.app nie ma indeksu sekcji. Przewijanie do własnych aplikacji podczas tworzenia jest niepotrzebną stratą czasu. Wiem o nowym wyszukiwaniu, ale jest to wolniejsze niż indeks tylko dla aplikacji firm trzecich.

Edytuj: Jeśli natkniesz się na to, proszę zgłoś również radar! Jest to ważne, aby naprawdę go naprawić, zobacz https://blackpixel.com/writing/2012/02/radar-or-gtfo.html.

0

Jest to błąd w iOS 9, problem został rozwiązany w iOS 10. Niestety, nic nie można zrobić dla użytkowników, którzy są nadal działa iOS 9.

Jeśli używasz CocoaPods lub Carthage, AckAck działa dobrze w celu wygenerowania plistu Podziękowania dla ciebie. Usuwa niepotrzebne podziały wierszy/wcięcia i generuje osobny plik dla każdej struktury (czyniąc go mniejszym problemem na iOS 9).

https://github.com/Building42/AckAck

(jestem twórcą AckAck)