iOS 7 beta 5, oto cały dziennik zmian

  iOS beta 7 5 została uruchomiona dziś wieczorem przez firmę Apple, a teraz udostępniliśmy cały dziennik zmian tej wersji systemu operacyjnego. Znajdziemy w nim oczywiście głównie powtórne zbadanie poprzednich problemów i poprawę wydajności, jednak projektanci firmy w dalszym ciągu wprowadzali różne subtelne zmiany w interfejsie użytkownika.

Uwagi i znane problemy

Następujące problemy dotyczą używania zestawu iOS SDK 7.0 do tworzenia kodu: Książka adresowa

Uwagi

Klasy w środowisku AddressBookUI teraz wyraźnie uniemożliwiają tworzenie podklas. W przypadku aplikacji połączonych z zestawem SDK systemu iOS 7 próba zainicjowania podklasy jednej z tych klas zwraca zero. W przypadku aplikacji połączonych ze starszymi zestawami SDK jedyną zmianą zachowania jest ostrzeżenie rejestrowane w konsoli.

Począwszy od wersji 4, obsługa prywatności w ramach AddressBookUI jest ponownie włączona dla aplikacji połączonych z zestawem SDK systemu iOS 7. Aplikacje powiązane ze starszymi zestawami SDK nie ulegają zmianie. Jeśli aplikacja korzysta z któregokolwiek kontrolera widoku książki adresowej, należy sprawdzić, czy nadal działa zgodnie z oczekiwaniami.

zrzut

Uwagi

AirDrop w iOS 7 Seed 2 lub nowszym nie jest kompatybilny z AirDrop w iOS 7 Seed 1.

Kontakty Tylko wsparcie wymaga, aby:

Jesteś zalogowany do iCloud.

Nadawca i odbiorca mają swoje adresy e-mail Apple ID w Kontaktach na swoich urządzeniach.

Naprawiono w Seed 5

Tylko kontakt wymaga obecnie aktywnego połączenia z Internetem.

App Store powinien umożliwiać znalezienie aplikacji umożliwiającej otwarcie otrzymanego dokumentu na podstawie jednolitego identyfikatora typu dokumentu (UTI). Obecnie wyświetlany jest tylko pusty ekran.

Fundacja AV

Uwagi

AVCaptureSession domyślnie używa teraz AVAudioSession Twojej aplikacji.

Animacja podstawowa

Uwagi

Gdy klucz UIViewGroupOpacity nie jest obecny, wartość domyślna to teraz TAK. Wartość domyślna to poprzednio NIE.

Oznacza to, że podwidoki przezroczystego widoku zostaną najpierw złożone w ten przezroczysty widok, a następnie wstępnie złożone poddrzewo zostanie narysowane w całości na tle. Ustawienie NIE powoduje tańsze, ale także mniej dokładne komponowanie: każdy widok w przezroczystym poddrzewie jest łączony z tym, co znajduje się pod nim, zgodnie z nieprzezroczystością elementu nadrzędnego, w normalnej kolejności algorytmu malarza.Wymiana

Uwagi

W wersji Seed 4 i nowszych identyfikator urządzenia Exchange został zmieniony z powrotem na zachowanie systemu iOS 6, w którym używa numeru seryjnego.

Czcionki

Uwagi

W wersji 4. wprowadzono nową wysokość linii czcionki. Jeśli we wcześniejszych nasionach ręcznie wyrównałeś czcionkę, w późniejszych nasionach może ona nieznacznie przesunąć się w pionie.

Fundacja

Uwagi

Zapytanie NSMetadataQuery o wszechobecnym zakresie może teraz używać kMDItemContentTypeTree w predykatach.

Na przykład:

NSPredicate *p = [NSPredicate

predicateWithLeftExpression: [NSExpression

wyrażenieForKeyPath:@”kMDItemContentTypeTree”]

praweWyrażenie:[NSWyrażenie

wyrażenieForConstantValue:@”public.rtf”]

modyfikator: NSAnyPredicateModifier

wpisz: NSLikePredicateOperatorType

opcje:0];

Po wywołaniu wyników zwróconych przez zapytania o wszechobecnych zakresach, -[NSMetadataItem

valueForAttribute:NSMetadataItemDisplayNameKey] generuje teraz tę samą wartość co –

[NSURL getResourceValue: forKey: NSURRLLocalizedNameKey], dopasowanie niewszechobecne

zapytania.

iCloud

Uwagi

Jeśli używasz pęku kluczy iCloud z odzyskiwaniem, może zostać wyświetlone okno dialogowe wskazujące, że odzyskiwanie zostało wyłączone z powodu zmiany serwera. To jest zamierzone. Aby ponownie włączyć tę funkcję, postępuj zgodnie z instrukcjami zawartymi w powiadomieniu. Jeśli widzisz wiele alertów lub zauważysz problemy z ponownym włączeniem odzyskiwania, zgłoś błąd.

Pęk kluczy iCloud w systemie iOS 7 Seed 3 lub nowszym nie jest wstecznie kompatybilny z iOS 7 Seed 2 lub OS X

Nasienie Mavericks 2.

Jeśli w systemie iOS 7 Seed 2 włączono funkcję pęku kluczy i/lub przywracania pęku kluczy iCloud, obie funkcje zostaną wyłączone po aktualizacji do systemu iOS 7 Seed 3 lub nowszego.

Po aktualizacji do systemu iOS 7 Seed 3 lub nowszego przejdź do Ustawień i stuknij w iCloud > Pęk kluczy i włącz ponownie iCloudKeychain na swoich urządzeniach.

Zobacz Informacje o wersji OS X 10.9, aby uzyskać więcej informacji.

Blokada aktywacji, nowa funkcja Znajdź mój iPhone, włącza się automatycznie po włączeniu funkcji Znajdź mój iPhone na dowolnym urządzeniu z systemem iOS 7. Blokada aktywacji wymaga od użytkowników wprowadzenia swojego Apple ID i hasła, aby włączyć Znajdź mój iPhone i wylogować się z iCloud , wymaż urządzenie lub ponownie aktywuj urządzenie po wymazaniu. Przed przekazaniem urządzenia nowemu użytkownikowi ważne jest wykonanie jednej z poniższych czynności:

Wyloguj się z iCloud.

Włącz blokadę aktywacji w Ustawieniach > iCloud > Znajdź mój iPhone.

Naprawiono w Seed 5

Notatki głosowe nie są przywracane z kopii zapasowych iCloud.

Użytkownicy w Szwajcarii, Francji, Hiszpanii, Niemczech, Polsce, Finlandii i prawdopodobnie w niektórych innych krajach nie będą mogli przywrócić swoich pęków kluczy za pomocą weryfikacji numeru telefonu.

Znane problemy

Pola haseł nie są wyświetlane w widokach alertów dla aplikacji w układzie poziomym (na przykład uwierzytelnianie Game Center lub zakup w aplikacji). Wprowadzanie tekstu nadal działa, chociaż nie widzisz, co piszesz.

MAPK

Uwagi

Jeśli wywołania renderInContext na warstwie zawierającej MKMapView są wykonane z głównego wątku, należy je wyeliminować lub przenieść do głównego wątku. Niezastosowanie się do tego może spowodować awarię aplikacji.

Zamiast używać renderInContext, użyj nowych interfejsów API MKMapSnapshotter.

Media

Uwagi

iOS zapamiętuje teraz ostatnio używaną aplikację multimedialną po ponownym uruchomieniu i awarii aplikacji. Aplikacje multimedialne, które mogą odbierać zdarzenia zdalnego sterowania, powinny być przygotowane do uruchamiania w tle i potencjalnie odbierać zdarzenia zdalnego sterowania w celu rozpoczęcia odtwarzania. Ponadto ważne jest, aby aplikacje multimedialne monitorowały i obsługiwały zdarzenia resetowania serwera multimediów, ponieważ aplikacja multimedialna może otrzymać zdalne żądanie wznowienia odtwarzania po zresetowaniu. Powiadomienia umożliwiające monitorowanie tych zdarzeń serwera multimediów są dostępne w

AVAudioSession i właściwa obsługa są opisane w Ogólne zalecenia dotyczące obsługi

kAudioSessionProperty_ServerDied.

Łączność wielopunktowa

Uwagi

To ziarno zawiera wiele aktualizacji interfejsów API MCSession. Interfejsy API działają teraz tak, jak zostały zaprezentowane na WWDC. Główne zmiany i ulepszenia obejmują: W MCSession zaimplementowano następującą nową metodę:

– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID

*)błąd peerID:(NSError **)błąd

Ta metoda delegowania została zaimplementowana:

– (void)sesja:(MCSession *)sesja didReceiveStream:(NSInputStream *)stream

withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID

Zaimplementowano następującą nową metodę w MCSession:

– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString

*)nazwazasobu toPeer:(MCPeerID *)identyfikator peera withCompletionHandler:(void(^)(NSError

*błąd))completionHandler

Metoda delegowania, aby rozpocząć odbieranie zasobu od zdalnego peera, została zaimplementowana jako:

– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString

*)nazwa zasobu fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

Metoda delegowania służąca do zakończenia odbierania zasobu od zdalnego partnera i zapisania zawartości w pliku a

lokalizacja tymczasowa realizowana jest jako:

– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString

*)nazwa zasobu fromPeer:(MCPeerID *)identyfikator peera atURL:(NSURL *)localURL withError:

(NSEbłąd *)błąd

Uwagi: Aplikacja jest odpowiedzialna za przeniesienie pliku do stałej lokalizacji w swoim piaskownicy.

MCAdvertiserAssistant to wygodna klasa do implementacji Advertiser, która obsługuje zaproszenia i połączenia z sesją MCSession.

MCSession ma nową metodę initWithPeer:.

sendResource dodał „with” do completeHandler.

Limit czasu został usunięty z connectPeer: withNearbyConnectionData.

Więcej informacji na temat tych interfejsów API można znaleźć w filmie dotyczącym sesji 2013 sesji WWDC 708 pt. „Nearby

Sieć z łącznością wielopunktową.”

wielozadaniowość

Uwagi

AVAudioSession nie może już być aktywowana przez aplikacje działające w tle, które wybudzają się z powodu

Zdarzenia pobierania w tle, przesyłania w tle i zdalnego powiadamiania.

Zasady dotyczące interfejsu API zakończenia zadań zostały zmienione z powrotem, aby były zgodne z zachowaniem systemu iOS 6, ale limit czasu na ukończenie zadania zmniejszył się z 10 minut w systemie iOS 6.

Notatki dotyczące sieci

Komórkowa technologia rezerwowa obecna w poprzednich nasionach została usunięta w wersji 5.

Dwa interfejsy API sieci niskiego poziomu, które wcześniej zwracały adres MAC, teraz zwracają stałą wartość

02:00:00:00:00:00. Interfejsy API, o których mowa, to sysctl (NET_RT_IFLIST) i ioctl

(SIOCGIFCONF). Programiści korzystający z wartości adresu MAC powinni przejść na takie identyfikatory

jako -[identyfikator UIDeviceForVendor]. Ta zmiana dotyczy wszystkich aplikacji działających w systemie iOS 7.

Środowisko uruchomieniowe Objective-C

Uwagi

Ze względu na zmiany w implementacji pola isa, * samo w sobie może ulec zmianie podczas wyliczania (dla Apple właśnie wydano iOS 7 beta 5 dla iPhone'a, iPada, iPada mini i iPoda touch, a teraz udostępniono także pełny dziennik zmian. Najnowsza wersja beta systemu iOS 7 została, jak zawsze, udostępniona programistom jako aktualizacja bezprzewodowa (OTA), ale zostaliśmy poinformowani, że pliki nowego systemu operacyjnego są już dostępne do pobrania w internetowym portalu dla programistów Apple im, Apple opublikował także pełny dziennik zmian iOS 7 beta 5, który zawiera listę wszystkich aktualizacji oprogramowania, które firmie udało się umieścić w najnowszym systemie operacyjnym w wersji beta. BGR otrzymał kopię dziennika zmian iOS 7 beta 5 firmy Apple i wszystkie szczegóły poniżej.

Uwagi i znane problemy

Następujące problemy dotyczą używania zestawu iOS SDK 7.0 do tworzenia kodu: Książka adresowa

Uwagi

Klasy w środowisku AddressBookUI teraz wyraźnie uniemożliwiają tworzenie podklas. W przypadku aplikacji połączonych z zestawem SDK systemu iOS 7 próba zainicjowania podklasy jednej z tych klas zwraca zero. W przypadku aplikacji połączonych ze starszymi zestawami SDK jedyną zmianą zachowania jest ostrzeżenie rejestrowane w konsoli.

Począwszy od wersji 4, obsługa prywatności w ramach AddressBookUI jest ponownie włączona dla aplikacji połączonych z zestawem SDK systemu iOS 7. Aplikacje powiązane ze starszymi zestawami SDK nie ulegają zmianie. Jeśli aplikacja korzysta z któregokolwiek kontrolera widoku książki adresowej, należy sprawdzić, czy nadal działa zgodnie z oczekiwaniami.

zrzut

Uwagi

AirDrop w iOS 7 Seed 2 lub nowszym nie jest kompatybilny z AirDrop w iOS 7 Seed 1.

Kontakty Tylko wsparcie wymaga, aby:

Jesteś zalogowany do iCloud.

Nadawca i odbiorca mają swoje adresy e-mail Apple ID w Kontaktach na swoich urządzeniach.

Naprawiono w Seed 5

Tylko kontakt wymaga obecnie aktywnego połączenia z Internetem.

App Store powinien umożliwiać znalezienie aplikacji umożliwiającej otwarcie otrzymanego dokumentu na podstawie jednolitego identyfikatora typu dokumentu (UTI). Obecnie wyświetlany jest tylko pusty ekran.

Fundacja AV

Uwagi

AVCaptureSession domyślnie używa teraz AVAudioSession Twojej aplikacji.

Animacja podstawowa

Uwagi

Gdy klucz UIViewGroupOpacity nie jest obecny, wartość domyślna to teraz TAK. Wartość domyślna to poprzednio NIE.

Oznacza to, że podwidoki przezroczystego widoku zostaną najpierw złożone w ten przezroczysty widok, a następnie wstępnie złożone poddrzewo zostanie narysowane w całości na tle. Ustawienie NIE powoduje tańsze, ale także mniej dokładne komponowanie: każdy widok w przezroczystym poddrzewie jest łączony z tym, co znajduje się pod nim, zgodnie z nieprzezroczystością elementu nadrzędnego, w normalnej kolejności algorytmu malarza.Wymiana

Uwagi

W wersji Seed 4 i nowszych identyfikator urządzenia Exchange został zmieniony z powrotem na zachowanie systemu iOS 6, w którym używa numeru seryjnego.

Czcionki

Uwagi

W wersji 4. wprowadzono nową wysokość linii czcionki. Jeśli we wcześniejszych nasionach ręcznie wyrównałeś czcionkę, w późniejszych nasionach może ona nieznacznie przesunąć się w pionie.

Fundacja

Uwagi

Zapytanie NSMetadataQuery o wszechobecnym zakresie może teraz używać kMDItemContentTypeTree w predykatach.

Na przykład:

NSPredicate *p = [NSPredicate

predicateWithLeftExpression: [NSExpression

wyrażenieForKeyPath:@”kMDItemContentTypeTree”]

praweWyrażenie:[NSWyrażenie

wyrażenieForConstantValue:@”public.rtf”]

modyfikator: NSAnyPredicateModifier

wpisz: NSLikePredicateOperatorType

opcje:0];

Po wywołaniu wyników zwróconych przez zapytania o wszechobecnych zakresach, -[NSMetadataItem

valueForAttribute:NSMetadataItemDisplayNameKey] generuje teraz tę samą wartość co –

[NSURL getResourceValue: forKey: NSURRLLocalizedNameKey], dopasowanie niewszechobecne

zapytania.

iCloud

Uwagi

Jeśli używasz pęku kluczy iCloud z odzyskiwaniem, może zostać wyświetlone okno dialogowe wskazujące, że odzyskiwanie zostało wyłączone z powodu zmiany serwera. To jest zamierzone. Aby ponownie włączyć tę funkcję, postępuj zgodnie z instrukcjami zawartymi w powiadomieniu. Jeśli widzisz wiele alertów lub zauważysz problemy z ponownym włączeniem odzyskiwania, zgłoś błąd.

Pęk kluczy iCloud w systemie iOS 7 Seed 3 lub nowszym nie jest wstecznie kompatybilny z iOS 7 Seed 2 lub OS X

Nasienie Mavericks 2.

Jeśli w systemie iOS 7 Seed 2 włączono funkcję pęku kluczy i/lub przywracania pęku kluczy iCloud, obie funkcje zostaną wyłączone po aktualizacji do systemu iOS 7 Seed 3 lub nowszego.

Po aktualizacji do systemu iOS 7 Seed 3 lub nowszego przejdź do Ustawień i stuknij w iCloud > Pęk kluczy i włącz ponownie iCloudKeychain na swoich urządzeniach.

Zobacz Informacje o wersji OS X 10.9, aby uzyskać więcej informacji.

Blokada aktywacji, nowa funkcja Znajdź mój iPhone, włącza się automatycznie po włączeniu funkcji Znajdź mój iPhone na dowolnym urządzeniu z systemem iOS 7. Blokada aktywacji wymaga od użytkowników wprowadzenia swojego Apple ID i hasła, aby włączyć Znajdź mój iPhone i wylogować się z iCloud , wymaż urządzenie lub ponownie aktywuj urządzenie po wymazaniu. Przed przekazaniem urządzenia nowemu użytkownikowi ważne jest wykonanie jednej z poniższych czynności:

Wyloguj się z iCloud.

Włącz blokadę aktywacji w Ustawieniach > iCloud > Znajdź mój iPhone.

Naprawiono w Seed 5

Notatki głosowe nie są przywracane z kopii zapasowych iCloud.

Użytkownicy w Szwajcarii, Francji, Hiszpanii, Niemczech, Polsce, Finlandii i prawdopodobnie w niektórych innych krajach nie będą mogli przywrócić swoich pęków kluczy za pomocą weryfikacji numeru telefonu.

Znane problemy

Pola haseł nie są wyświetlane w widokach alertów dla aplikacji w układzie poziomym (na przykład uwierzytelnianie Game Center lub zakup w aplikacji). Wprowadzanie tekstu nadal działa, chociaż nie widzisz, co piszesz.

MAPK

Uwagi

Jeśli wywołania renderInContext na warstwie zawierającej MKMapView są wykonane z głównego wątku, należy je wyeliminować lub przenieść do głównego wątku. Niezastosowanie się do tego może spowodować awarię aplikacji.

Zamiast używać renderInContext, użyj nowych interfejsów API MKMapSnapshotter.

Media

Uwagi

iOS zapamiętuje teraz ostatnio używaną aplikację multimedialną po ponownym uruchomieniu i awarii aplikacji. Aplikacje multimedialne, które mogą odbierać zdarzenia zdalnego sterowania, powinny być przygotowane do uruchamiania w tle i potencjalnie odbierać zdarzenia zdalnego sterowania w celu rozpoczęcia odtwarzania. Ponadto ważne jest, aby aplikacje multimedialne monitorowały i obsługiwały zdarzenia resetowania serwera multimediów, ponieważ aplikacja multimedialna może otrzymać zdalne żądanie wznowienia odtwarzania po zresetowaniu. Powiadomienia umożliwiające monitorowanie tych zdarzeń serwera multimediów są dostępne w

AVAudioSession i właściwa obsługa są opisane w Ogólne zalecenia dotyczące obsługi

kAudioSessionProperty_ServerDied.

Łączność wielopunktowa

Uwagi

To ziarno zawiera wiele aktualizacji interfejsów API MCSession. Interfejsy API działają teraz tak, jak zostały zaprezentowane na WWDC. Główne zmiany i ulepszenia obejmują: W MCSession zaimplementowano następującą nową metodę:

– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID

*)błąd peerID:(NSError **)błąd

Ta metoda delegowania została zaimplementowana:

– (void)sesja:(MCSession *)sesja didReceiveStream:(NSInputStream *)stream

withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID

Zaimplementowano następującą nową metodę w MCSession:

– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString

*)nazwazasobu toPeer:(MCPeerID *)identyfikator peera withCompletionHandler:(void(^)(NSError

*błąd))completionHandler

Metoda delegowania, aby rozpocząć odbieranie zasobu od zdalnego peera, została zaimplementowana jako:

– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString

*)nazwa zasobu fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

Metoda delegowania służąca do zakończenia odbierania zasobu od zdalnego partnera i zapisania zawartości w pliku a

lokalizacja tymczasowa realizowana jest jako:

– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString

*)nazwa zasobu fromPeer:(MCPeerID *)identyfikator peera atURL:(NSURL *)localURL withError:

(NSEbłąd *)błąd

Uwagi: Aplikacja jest odpowiedzialna za przeniesienie pliku do stałej lokalizacji w swoim piaskownicy.

MCAdvertiserAssistant to wygodna klasa do implementacji Advertiser, która obsługuje zaproszenia i połączenia z sesją MCSession.

MCSession ma nową metodę initWithPeer:.

sendResource dodał „with” do completeHandler.

Limit czasu został usunięty z connectPeer: withNearbyConnectionData.

Więcej informacji na temat tych interfejsów API można znaleźć w filmie dotyczącym sesji 2013 sesji WWDC 708 pt. „Nearby

Sieć z łącznością wielopunktową.”

wielozadaniowość

Uwagi

AVAudioSession nie może już być aktywowana przez aplikacje działające w tle, które wybudzają się z powodu

Zdarzenia pobierania w tle, przesyłania w tle i zdalnego powiadamiania.

Zasady dotyczące interfejsu API zakończenia zadań zostały zmienione z powrotem, aby były zgodne z zachowaniem systemu iOS 6, ale limit czasu na ukończenie zadania zmniejszył się z 10 minut w systemie iOS 6.

Notatki dotyczące sieci

Komórkowa technologia rezerwowa obecna w poprzednich nasionach została usunięta w wersji 5.

Dwa interfejsy API sieci niskiego poziomu, które wcześniej zwracały adres MAC, teraz zwracają stałą wartość

02:00:00:00:00:00. Interfejsy API, o których mowa, to sysctl (NET_RT_IFLIST) i ioctl

(SIOCGIFCONF). Programiści korzystający z wartości adresu MAC powinni przejść na takie identyfikatory

jako -[identyfikator UIDeviceForVendor]. Ta zmiana dotyczy wszystkich aplikacji działających w systemie iOS 7.

Środowisko uruchomieniowe Objective-C

Uwagi

Ze względu na zmiany w implementacji pola isa, wartość *self może ulec zmianie podczas wyliczania (np

na przykład, jeśli pojemnik zostanie zatrzymany).

Obejście: Podczas implementowania countByEnumeratingWithState nie ustawiaj stanu

>mutacjePtr = self.

Książeczka bankowa

Uwagi

Począwszy od wersji iOS 7 Seed 4, Passbook dodał obsługę głównych i pobocznych pól, aby lepiej dopasować się do

reszta ekosystemu iBeacon. Nowe klawisze główne i poboczne są niezależnie zmienne i opcjonalne

wraz z identyfikatorem NearbyUUID (wymagany) w każdym słowniku w tablicy beacons.

W poprzednich wersjach pakietu SDK dla systemu iOS aplikacja Passbook nie sprawdzała tylnych pól na przepustkach

całkowicie. Zasady walidacji nie uległy zmianie, ale walidacja obejmuje teraz pola tylne.

Sprawdź dziennik konsoli, aby uzyskać dodatkowe dzienniki.

Począwszy od iOS 7 Seed 3, PKPassLibraryDidCancelAddPasses to nowy kod stanu w

Wyliczenie PKPassLibraryAddPassesStatus. Oznacza to, że użytkownik kliknął Anuluj w dodanych przejściach

alarm.

ZDJĘCIA

Uwagi

Po uaktualnieniu z wcześniejszej wersji początkowej miniatury zdjęć w aplikacji Zdjęcia nie będą wyświetlane przez krótki czas

podczas.

Safari

Naprawiono w Seed 5

Aktualizacja do iOS może zresetować ustawienia Safari do wartości domyślnych.

Uwagi dotyczące bezpieczeństwa

-[UIDevice UniqueIdentifier] nie jest już akceptowany w zgłoszeniach do App Store. W iOS 7

aplikacje, które są już w sklepie lub na urządzeniach użytkowników wywołujących to usunięte API, nie będą już dostępne

zwrócił identyfikator UDID. Zamiast tego -[UIDevice unikatowyIdentyfikator] zwróci 40-znakowy ciąg

zaczynając od FFFFFFFF, po którym następuje wartość szesnastkowa -[identyfikator UIDeviceForVendor]. To jest

ważne jest, aby rozważyć, jak wpłynie to na istniejące aplikacje. Rozważam przesłanie aktualizacji, że nie

dłuższy dostęp do identyfikatora UDID.

iOS żąda teraz zgody użytkownika, aby aplikacje mogły korzystać z wejścia audio na wszystkich urządzeniach z systemem iOS 7. Dla urządzeń sprzedawanych w

W Chinach system iOS będzie również wymagał zgody użytkownika na korzystanie przez aplikacje ze sprzętu aparatu. Operacyjny

system wyświetli alert dotyczący zgody po ustawieniu kategorii tworzonej instancji

Sesja AVAudio. Kategorie AVAudioSession, które będą prezentować alert, to

AVAudioSessionCategoryRecord i AVAudioSessionCategoryPlayAndRecord.

Jeśli użytkownik nie zezwoli na dostęp, dane sesji audio będą same zera (cisza). Dla urządzeń, gdzie

Użytkownik żąda dostępu do kamery i odmawia mu dostępu, podczas sesji przechwytywania wideo wyświetlany jest czarny ekran.

API gethostuuid() zostało usunięte i nie będzie przyjęte do przesłania do sklepu,

niezależnie od docelowego systemu operacyjnego. W przypadku istniejących aplikacji działających w systemie iOS 7 funkcja zwróci uuid_t

reprezentacja identyfikatora dostawcy (-[IDevice IdentyfikatorForVendor]).

ustawienie

Naprawiono w Seed 5

Asystent konfiguracji może ulec awarii podczas konfigurowania nowego urządzenia z istniejącym adresem e-mail.

Siri

Uwagi

To ziarno zawiera wersje rozwojowe nowych męskich i żeńskich głosów Siri dla języka angielskiego, francuskiego, amerykańskiego i

i niemieckim.

Obserwuj Nas

Uwagi

Przez iOS 6, gdy używasz TWTweetComposeViewController i SLComposeViewController

(ten ostatni tylko dla Twittera i Weibo, ale nie Facebooka), jeśli osoba dzwoniąca poda:

FinishingHandler, dostarczony zakończeniuHandler jest odpowiedzialny za odrzucenie widoku

kontroler. Począwszy od systemu iOS 7, jeśli aplikacja łączy się z zestawem SDK systemu iOS 7, kontroler widoku sam się odrzuci

nawet jeśli osoba wywołująca dostarczy metodę uzupełniania. Aby tego uniknąć, funkcja kompletacji obiektu wywołującego

nie powinien zamykać kontrolera widoku.

W przypadku korzystania z pakietu SDK dla systemu iOS 6.1 w systemie OS X 10.8 Mountain Lion, jeśli korzystasz z wersji iOS 5.0 lub iOS 5.1 Legacy

SDK w symulatorze iOS, nie będziesz mógł korzystać z funkcji Twittera: próba zalogowania się do Twittera

za pośrednictwem panelu Ustawienia zakończy się niepowodzeniem, a Twitter.framework nie będzie działać poprawnie. Jeśli potrzebujesz przetestować

Twitter, musisz wybrać miejsce docelowe uruchomienia symulatora iOS 6.1 lub iOS 6.0, lub

możesz przetestować z systemem iOS 5.x na urządzeniu Springboard

Uwagi

Aktywne dotknięcia nie są już anulowane, gdy użytkownik robi zrzut ekranu.

Dynamiczna tapeta nie jest dostępna na iPhonie 4.

Zestaw Sprite'a

Uwagi

+[AVPlayer playerWithPlayerItem:] zwraca obiekt AVPlayer, ale bieżący element zostanie zwrócony

nil, jeśli gracz został utworzony w innym wątku.

Sklepy

Naprawiono w Seed 5

Niektóre urządzenia iPhone 4 nie mogą pobierać treści ze sklepów App Store i iTunes Store.

Znane problemy

Pobieranie aplikacji może utknąć w stanie „Oczekiwanie”.

Rozwiązanie: Uruchom ponownie urządzenie raz lub dwa razy, aby rozwiązać problem i umożliwić kolejne pobieranie

aby kontynuować.

UIKit

Uwagi

Przed wersją 4 interfejs API migawek (snapshotView i

resizableSnapshotViewFromRect:withCapInsets:) odroczy wykonanie migawki, jeśli widok

nigdy nie zostały zatwierdzone lub zostały dodane do hierarchii widoków w bieżącej transakcji. Ten

zachowanie się zmieniło.

Migawki teraz zawsze reprezentują bieżący, zatwierdzony stan widoku. Próbuję wykonać migawkę

widok, który nigdy nie został zatwierdzony, rejestruje komunikat i teraz zwraca zero.

Metody tworzenia migawek zostały zaktualizowane i teraz przyjmują argument: afterUpdates. Po ustawieniu na

TAK, powoduje to, że migawka ma czekać, aż zostaną wprowadzone wszystkie oczekujące zmiany w hierarchii

zaangażowany. Aby zachować zachowanie sprzed Seed 4, przekaż NO, a migawka uchwyci, co to jest

aktualnie na ekranie. Więcej szczegółów znajdziesz w UIView.h.

Jeśli w układzie paska nawigacji nie ma wystarczającej ilości miejsca na pełny tekst tytułu przycisku Wstecz,

pasek nawigacyjny zastąpi ogólny krótki tytuł (w języku angielskim „Wstecz”). Jeśli nawet ten ciąg jest

za długi, na pasku pojawi się jodełka wskaźnika tylnego bez tytułu.

+[UIPasteboard pasteboardWithName:create:] i +[UIPasteboard

pasteboardWithUniqueName] teraz unikatowa podana nazwa, aby zezwalać tylko tym aplikacjom na to samo

grupę aplikacji, aby uzyskać dostęp do obszaru roboczego. Jeśli programista spróbuje utworzyć obszar roboczy z plikiem

nazwę, która już istnieje i nie są częścią tego samego pakietu aplikacji, otrzymają swój własny, unikalny i prywatny pulpit. Należy pamiętać, że nie ma to ogólnie wpływu na dostarczone przez system tektury,

i znajdź.

Począwszy od Seed 2, aplikacje domyślnie korzystają z nowego zarządzania paskami stanu opartego na kontrolerze widoku

system. Aby z tego zrezygnować, dodaj wartość NIE dla

Klucz UIViewControllerBasedStatusBarAppearance do pliku Info.plist.

Jeśli używasz układu automatycznego do pozycjonowania przycisku UIButton, jeśli ustawisz odporność na kompresję zawartości lub

priorytet przytulania treści ustawiony na minimum, przycisk będzie miał niejednoznaczny układ.

Rozwiązanie: nie używaj priorytetu odporności na kompresję treści ani priorytetu przytulania treści mniejszego niż

2 dla UIButton.

UIScreenEdgePanGestureRecognizer umożliwia wykonywanie działań w odpowiedzi na przesunięcia

krawędzi ekranu, korzystając z tej samej heurystyki, której system używa do własnych gestów. Użyj tego

jeśli masz własną semantykę nawigacji, która nie używa UINavigationController, ale

powinien zawierać ten gest (np. Safari).

Ten moduł rozpoznawania gestów ma właściwość opisującą krawędzie, na których jest aktywny. UIRectEdge jest

nowy typ wyliczeniowy, który może zapewnić ta właściwość i -[UIViewController EdgeForExtendedLayout].

udział. UIRectEdge zastępuje UIExtendedEdge, który zostanie usunięty. Członkowie obu mają

te same wartości. Użyj Xcode, aby zastąpić wszystkie wystąpienia „UIExtendedEdge” w swoim projekcie

„UIRectEdge”.

UIButtonTypeInfoLight, UIButtonTypeInfoDark i UIButtonTypeDetailDisclosure

wszystkie przyciski wyglądają tak samo.

Rozmyte warstwy nie są dostępne na iPhonie 4.

Paralaksa nie jest dostępna na iPhonie 4.

Tekst typograficzny nie jest dostępny na iPhonie 4.

Naprawiono w Seed 5

Interfejs Twojej aplikacji może się nieznacznie zmienić po użyciu odtwarzacza multimedialnego w trybie poziomym.

Znane problemy

Pola haseł nie są wyświetlane w widokach alertów dla aplikacji w orientacji poziomej (na przykład Game Center

uwierzytelnianie lub zakup w aplikacji). Wprowadzanie tekstu nadal działa, chociaż nie widzisz, co piszesz.

Pogoda

Uwagi

Warunki pogodowe nie są animowane na iPhonie 4.

WebKit

Uwagi

Poprzednio, gdy modyfikowano parametry rzutni, stare parametry nigdy nie były odrzucane.

Spowodowało to, że parametry rzutni były addytywne.

Na przykład, jeśli zacząłeś od szerokości=szerokość-urządzenia, a następnie zmieniłeś ją na początkową skalę=1.0,

skończyło się na obliczonej rzutni o szerokości = szerokość urządzenia, skala początkowa = 1.0. W iOS 7 rozwiązano ten problem. Teraz otrzymujesz obliczoną rzutnię o początkowej skali = 1.0.

Wcześniej podczas używaniaThe

Skala może być nieprawidłowa po obróceniu.

Teraz, jeśli użytkownik nie przeskalował strony jawnie, strona zostanie przywrócona do początkowej skali. Również,

bieżąca skala jest teraz prawidłowo ograniczona w granicach skali minimalnej i maksymalnej.

Niektóre obrazy na urządzeniach wyświetlających Retina zamiast być wyświetlane są dwa razy większe niż powinny

zmniejszone o 50%. Ten problem może również wystąpić w przypadku dowolnego skalowanego obrazu, który jest większy niż jego rozmiar

kontener i który używa właściwości rozmiaru tła lub rozmiaru tła -webkit

nieruchomość. Ten problem dotyczy zarówno aplikacji natywnych wyświetlających treści internetowe, jak i przeglądanych stron internetowych

Safari na iPhone'a.

Skrócona właściwość CSS tła resetuje teraz wartość właściwości rozmiaru tła

auto, gdy nie określono rozmiaru tła. To nowe zachowanie jest zgodne ze specyfikacją CSS i starą

zachowanie jest dostępne tylko w przypadku aplikacji połączonych z pakietem SDK w wersji wcześniejszej niż iOS 7.0, gdy działają one w systemie iOS 7 lub nowszym.

Obejście: Określ właściwość rozmiar tła lub właściwość -webkit-background-size

po skróconej właściwości tła w arkuszu stylów CSS dla treści internetowej

wystawiany.

Aplikacje internetowe i klipy internetowe utworzone przed wersją Seed 4 nie pozostaną w folderach po ponownym uruchomieniu.

Rozwiązanie: Usuń starą aplikację internetową lub klip internetowy i utwórz ją ponownie w tym zarodku, ładując zawartość

w przeglądarce Safari, dotykając przycisku akcji, a następnie „Dodaj do ekranu głównego”.

Wi-Fi

Uwagi

Seed 4 i nowsze wersje zawierają zmiany w AWDL w taki sposób, że technologie z niego korzystające — takie jak AirDrop i

Interfejsy API MultiPeerConnectivity — nie będą działać poprawnie ze starszymi nasionami.