Ikony aplikacji iOS 7, obrazy uruchamiania i konwencja nazewnictwa przy zachowaniu ikon iOS 6

83

Właśnie skończyłem aplikację na iOS 6 i tydzień temu kupiłem konto programisty, więc nie miałem zbyt wiele czasu na zabawę z SDK iOS 7. Właśnie pobrałem wersję Golden Master i próbuję zaktualizować moją aplikację, aby była kompatybilna z iOS 7.

Zdałem sobie sprawę, że iOS 7 wymaga trochę pracy z ikonami aplikacji. Sprawdziłem wiele powiązanych pytań i nie wiem, co zrobić. Mam już aplikację na iOS 6 z ikonami aplikacji, a kiedy zainstalowałem wersję Golden Master, zobaczyłem:

Ikony aplikacji iOS 7

a dla obrazów startowych:

iOS 7 Uruchom obrazy

Mogę tworzyć nowe płaskie ikony dla iOS 7, podczas gdy chcę, aby użytkownicy iOS nadal widzieli stare.

Co powinienem zrobić? Skorzystaj z „Użyj katalogu zasobów” lub dodaj ikony ręcznie, a jeśli dodam ikony ręcznie, to jak mam nazwać te obrazy? Dzięki!

AJ112
źródło

Odpowiedzi:

78

Absolutnie katalog zasobów jest odpowiedzią, który eliminuje potrzebę przestrzegania konwencji nazewnictwa podczas dodawania lub aktualizowania ikon aplikacji.

Poniżej znajdują się kroki, aby przeprowadzić migrację zestawu ikon aplikacji lub uruchomić zestaw obrazów z Apple :

1- W nawigatorze projektu wybierz cel.

2- Wybierz okienko Ogólne i przewiń do sekcji Ikony aplikacji.

wprowadź opis obrazu tutaj

3- Określ obraz w tabeli ikon aplikacji, klikając ikonę folderu po prawej stronie rzędu obrazów i wybierając plik obrazu w wyświetlonym oknie dialogowym.

wprowadź opis obrazu tutaj

4-Przenieś obrazy z tabeli ikon aplikacji do katalogu zasobów, klikając przycisk Użyj katalogu zasobów, wybierając katalog zasobów z menu podręcznego i klikając przycisk Migracja.

wprowadź opis obrazu tutaj

Alternatywnie możesz utworzyć pusty zestaw ikon aplikacji, wybierając polecenie Edytor> Nowa ikona aplikacji, i dodać obrazy do zestawu, przeciągając je z Findera lub wybierając polecenie Edytor> Importuj.

Tarek Hallak
źródło
Krótko mówiąc, przede wszystkim muszę przeglądać i ustawiać obrazy zgodnie z wymiarami podanymi w tabeli, a następnie mogę przenieść je do Katalogu zasobów na iOS 6 i iOS 7. Zgadza się?
AJ112
2
Tak, Twoje stare obrazy zostaną przeniesione natychmiast, ale nowe obrazy muszą na pewno zostać przeprojektowane, ale przynajmniej możesz dokładnie wiedzieć, jakie ikony lub obrazy musisz przekazać za pośrednictwem katalogu zasobów.
Tarek Hallak
1
Od tego czasu wydaje mi się, że straciłem AppIcon w Organizatorze i na TestFlight; wydaje się, że wszystko działa na urządzeniu, chociaż - czy jest coś, co muszę zrobić, aby te też działały, próbowałem RÓWNIEŻ mając CFBundleIcons, jakiś pomysł?
PaulJ
Odkryłem, że w przypadku wielu projektów docelowych najlepiej jest wybrać alternatywną trasę i utworzyć nowe pliki zasobów dla każdego celu. Czasami opcja migracji jest mylona. Każdemu zasobowi jest następnie przypisywane jedno członkostwo docelowe.
RobCroll
Dziękuję Ci! Próbowałem znaleźć sposób na edycję tych wierszy. Jeśli masz XCode w oknie (zamiast pełnego ekranu), przyciski folderów mogą być ukryte za prawym paskiem narzędzi.
HaemEternal
24

Powinieneś użyć katalogu zasobów:

Zbadałem, jak możemy korzystać z katalogu zasobów; Teraz wydaje mi się to łatwe. Chcę pokazać, jak dodać ikony i powitać w katalogu zasobów.

Uwaga: nie ma potrzeby dokonywania jakichkolwiek wpisów w pliku info.plist :) I żadnej innej konfiguracji.

Na poniższym obrazku po prawej stronie zobaczysz podświetlony obszar, w którym możesz wymienić potrzebne ikony. W moim przypadku zaznaczyłem pierwsze cztery pola wyboru; Jak dla moich wymagań aplikacji. Możesz wybrać opcje zgodnie ze swoimi wymaganiami.

wprowadź opis obrazu tutaj

Teraz zobacz poniższy obrazek. Po wybraniu dowolnej ikony aplikacji zobaczysz jej szczegóły w wybranym obszarze po prawej stronie. Pomoże Ci to załadować ikonę odpowiedniej rozdzielczości. wprowadź opis obrazu tutaj

Jeśli obraz o prawidłowej rozdzielczości nie zostanie dodany, pojawi się następujące ostrzeżenie. Po prostu prześlij obraz w odpowiedniej rozdzielczości. wprowadź opis obrazu tutaj

Po przesłaniu wszystkich wymaganych wymiarów nie powinno pojawić się żadne ostrzeżenie. wprowadź opis obrazu tutaj

msmq
źródło
Cześć: Mam ten problem, mam całą konfigurację, tak jak ty. Kiedy uruchamiam aplikację, który symulator pokaże ikonę, ale nieważne, czy wykonam całe czyszczenie i przebudowę, ale kiedy wdrożę na prawdziwym iPhonie 5s, nigdy się nie pojawi.
phil88530
@ phil88530, upewnij się, że wybrałeś również iOS 7.0 i późniejsze rozmiary (jak na powyższych zrzutach ekranu). po drugie, upewnij się, że używasz najnowszej wersji XCode, takiej jak 5.1.1 lub nowsza.
msmq
Jeśli chcesz zaoszczędzić trochę czasu na zmianie rozmiaru wszystkich ikon, możesz użyć tej aplikacji, która generuje dla Ciebie katalog zasobów ikon aplikacji: itunes.apple.com/app/id1052532083 (zastrzeżenie: to moja aplikacja)
Erik
14

Jeśli nie chcesz korzystać z Katalogu zasobów, możesz dodać ikonę iOS 7 do starej aplikacji, tworząc obraz PNG o wymiarach 120 x 120. Nazwij go Icon-120.pngi przeciągnij do projektu.

W obszarze TARGET> Twoja aplikacja> Informacje> Pliki ikon dodaj jeszcze jeden wpis we właściwościach docelowych:

wprowadź opis obrazu tutaj

Testowałem na Xcode 5 i aplikacja została przesłana bez ostrzeżenia o brakującej ikonie siatkówki.

ohho
źródło
2
Możesz także dodać Icon-76.png i Icon-152.png. Upewnij się również, że ikony są wymienione w sekcji „Fazy budowy”> „Kopiuj zasoby pakietu” (patrz stackoverflow.com/a/12225627/376066 )
Michaił
+1 za opis miejsca, w którym można dodać informacje o ikonie. Dzięki!
TJ Asher
to jest naprawdę słowo dziękuję kochanie spędziłem dwie godziny na ustawieniu APPICON do przeciągania i upuszczania, to nie działa dla mnie, ale używanie pliku .plist działa ... dzięki dużotttt.
Jagnesh
5

OK, dodaję do niesamowitego posta @ null na temat korzystania z katalogu zasobów .

Może być konieczne wykonanie następujących czynności, aby ikona aplikacji była połączona i działała dla dystrybucji / produkcji Ad-Hoc, aby była widoczna w Organizatorze , w locie testowym i prawdopodobnie w nieznanych lokalizacjach AppStore.


Po utworzeniu katalogu zasobów zanotuj nazwy obrazów uruchamiania i nazwy ikon aplikacji wymienione .xassetsw Xcode.

Domyślnie powinno to być

  • AppIcon
  • LaunchImage

[Aby zobaczyć to, kliknij swój folder / ikonę .xassets w Xcode.] (Można to zmienić, więc po prostu zanotuj tę zmienną na później)


To, co jest tworzone teraz w każdej kompilacji, to następujące struktury danych w aplikacji .app:

Ikony aplikacji:

iPhone

  • AppIcon57x57.png(iPhone bez siatkówki) [ Zwróć uwagę na przedrostek nazwy ikony ]
  • [email protected] (siatkówka iPhone'a)

I ten sam format dla każdej z pozostałych rozdzielczości ikon.

iPad

  • AppIcon72x72~ipad.png (iPad bez siatkówki)
  • AppIcon72x72@2x~ipad.png (siatkówka iPada)

(Dla iPada jest to nieco inny postfiks)


Główny problem

Teraz zauważyłem, że w moim Info.plistXcode 5.0.1 automatycznie próbował i nie udało się utworzyć klucza dla „ Icon files (iOS 5)” po zakończeniu tworzenia katalogu zasobów.

Jeśli pomyślnie utworzył odniesienie / mogło to zostać załatane przez Apple lub po prostu działało, wszystko, co musisz zrobić, to przejrzeć nazwy obrazów, aby zweryfikować format wymieniony powyżej.

Ostateczne rozwiązanie:

Dodaj następujący klucz do głównego .plist

Sugeruję, abyś otworzył swój główny .plistza pomocą zewnętrznego edytora tekstu, takiego jak TextWrangler, zamiast w Xcode, aby skopiować i wkleić następujący klucz.

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>AppIcon57x57.png</string>
            <string>[email protected]</string>
            <string>AppIcon72x72~ipad.png</string>
            <string>AppIcon72x72@2x~ipad.png</string>
        </array>
    </dict>
</dict>

Uwaga: Podałem tylko moje przykładowe rozdzielczości, będziesz musiał dodać je wszystkie.


Jeśli chcesz dodać ten klucz w Xcode bez zewnętrznego edytora, użyj następującego:

  • Icon files (iOS 5) - Słownik
  • Primary Icon - Słownik
  • Icon files - Array
  • Item 0- Ciąg = AppIcon57x57.png I dla każdego innego elementu / ikony aplikacji.

Teraz, gdy w końcu zarchiwizujesz swój projekt, ostateczny ładunek .xcarchive .plist będzie teraz zawierał wymienione powyżej lokalizacje ikon do zbudowania i użycia.

Nie dodawaj następujących elementów do żadnego pliku .plist: tylko przykład tego, co Xcode wygeneruje teraz dla końcowego ładunku

<key>IconPaths</key>
<array>
    <string>Applications/Example.app/AppIcon57x57.png</string>
    <string>Applications/Example.app/[email protected]</string>
    <string>Applications/Example.app/AppIcon72x72~ipad.png</string>
    <string>Applications/Example.app/AppIcon72x72@2x~ipad.png</string>
</array>
Danoli3
źródło