Lista zmian iOS 8.1 beta 1

  In urma lansarii surprinzatoare a iOS beta 8.1 1 dla iPhone'a, iPada i iPoda Touchspółka Apple a publicat inclusiv un changelog in care descrie variatele modificari pe care le-a implementat pentru terminalele noastre. Dupa cum veti vedea si din textul disponibil mai jos, principalele modificari facute de catre compania americana vizeaza strict functionarea sistemului de operare, insa desigur ca exista si alte cateva noutati “de suprafata”.

  Intregul changelog pentru iOS 8.1 beta 1 il puteti vedea mai jos, iar cu detalii suplimentare despre schimbarile vizibile implementate de catre compania Apple voi reveni intr-un articol urmator.

Lista zmian iOS 8.1 beta 1

Uwagi i znane problemy
Poniższe problemy dotyczą używania zestawu SDK systemu iOS 8.1 do tworzenia kodu.

AVCapture
Znana kwestia
Use of the new constant, AVCaptureISOCurrent, will result in inconsistent ISO values (as observed on the ISO property) if setExposureModeCustomWithDuration:ISO:completionHandler: is called repeatedly.
CloudKit
Note
A single CKAsset instance can no longer be set as a value on multiple CKRecords.
Kontakt
Note
The Address Book UI people picker has been changed for iOS 8. A new mode with new API has been added where the app does not need access to the user’s contacts and the user will not be prompted for access. A temporary copy of the selected person is returned to the app. SeeABPeoplePickerNavigationController.h for more details.

Zobacz nowy przykładowy projekt PeoplePicker: Picking a Person or Property demonstrujący użycie nowego trybu.
Dostawcy dokumentów
Uwagi
Twoja aplikacja wymaga uprawnień iCloud, aby mogła być używana jako dostawca dokumentów.
Uprawnienie com.apple.developer.icloud-container-identifiers będzie wymagane po wydaniu systemu iOS 8.
Znane problemy
Po obróceniu selektora dokumentów do pozycji poziomej pasek stanu jest ukryty.
Po wywołaniu selektora dokumentów w orientacji poziomej widok zawierający dokument może zostać przesunięty pod pasek nawigacyjny.
Rozszerzenia
Uwagi
Rozszerzenia wymagają segmentu arm64, aby działać na urządzeniach 64-bitowych. Jeśli spróbujesz uruchomić plasterek armv7 na urządzeniu 64-bitowym, nie zadziała.
Aplikacje muszą mieć wycinek arm64, jeśli pakiet zawiera platformę, z którą łączy się zarówno aplikacja, jak i rozszerzenie aplikacji.
System plików
Note
The file system layout of app containers has changed on disk. Rather than relying on hard-coded directory structure, use the NSSearchPathForDirectoriesInDomains function or the URLForDirectory:inDomain:appropriateForURL:create:error: method of the NSFileManager class. See Accessing Files and Directories in File System Programming Guide.
Czcionki
Note
Aby poprawić czytelność, zwiększono rozmiar tajskiej czcionki systemowej. Jeśli nie podejmiesz odpowiednich działań, spowoduje to przycięcie w wielu miejscach interfejsu użytkownika:

Use UILabel as much as possible. If you use Interface Builder, make sure that Clip Subviews is not checked. UIKit will grow the clipping region as necessary to not clip text.
Użyj typu dynamicznego. Dzięki temu w etykietach wielowierszowych lub polach tekstowych nie będzie nakładających się glifów.
Jeśli nie możesz wykonać 1 i 2, ponieważ implementujesz własne widoki, musisz wdrożyć środki, aby nie przycinać. Możesz użyć CoreText, aby znaleźć odpowiedni region przycinania dla linii tekstu, wywołując:

CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);
Aby uniknąć nakładania się glifów w elementach tekstu wielowierszowego, dostosuj wysokość linii. Zalecane jest dodatkowe 30%.

Dzięki temu działaniu Twoja aplikacja będzie działać lepiej w innych językach, w tym w języku arabskim, hindi i wietnamskim.
kontroler gry
Fixed in iOS 8.1 Beta
GameController forwarding may not work.
HealthKit
Note
Kod próbujący odczytać informacje o treningu w HealthKit może nie być w stanie wykonać kolejnych zapytań do HealthKit.

Jeśli korzystasz z HKWorkouts, powinieneś unikać czytania treningów podczas uruchamiania na wersjach iOS wcześniejszych niż 8.1 z:

NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0};
if ([[NSProcessInfo ProcessInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) {
// Odczytywanie i zapisywanie informacji o treningu w zestawie zdrowotnym.
} Else {
// Zapisz informacje o treningu w zestawie zdrowia
}
Fixed in iOS 8.1 Beta
Background delivery of HealthKit data does not work as expected.
iCloud
Note
Przekazywanie poczty i funkcja AirDrop mogą przestać działać po zmianie hasła do usługi iCloud na stronie appleid.apple.com.

Rozwiązanie: wyloguj się i wróć do iCloud na urządzeniu.
iCloud kopii zapasowej
Znana kwestia
Po przywróceniu danych z kopii zapasowej iCloud synchronizacja nowej muzyki lub filmów z iTunes może nie być możliwa.
iCloud Napęd
Note
URLForUbiquityContainerIdentifier: might return nil when running your application in Xcode. If so, open System Preferences, navigate to iCloud > iCloud Drive, and enable Xcode.
iCloud Keychain
Fixed in iOS 8.1 Beta
When logging into iCloud, a user may experience a keychain reset on their other devices that were previously in the circle.
Touch ID protected keychain items do not allow SecItemUpdate. SecItemUpdate always returns errSecInteractionNotAllowed.
klawiatury
Fixed in iOS 8.1 Beta
Network access gets disabled after adding a new keyboard from the same bundle.
Custom Keyboards may go blank after app switching.
Znana kwestia
3rd party keyboards may not appear in Safari, Maps or 3rd party apps on the Simulator.

Workaround: Keyboards should be testable in Calendar, Spotlight, Contacts, and Photos.
Poczta
Fixed in iOS 8.1 Beta
Applying the Allow Account Modification restriction to a device with no mail accounts configured will still allow a user to create a Mail account by launching the Mail app.
Metal
Fixed in iOS 8.1 Beta
When you modify a metal file shader using offline compilation to create a metallib library that has shrunk in size, the metallib library will fail to load on the device.

Workaround: Delete the metallib library before recreating it by doing a clean in Xcode or removing the file manually before building the archive.
Centrum powiadomień
Note
The schedule and intended use of widgetPerformUpdateWithCompletionHandler: is intended as a convenient home for all data/model update logic. If implemented, the system will call at opportune times for the widget to update its state, both when Notification Center is visible, as well as in the background. An implementation is required to enable background updates. It’s expected that the widget will perform the work to update asynchronously and off the main thread as much as possible. Widgets should call the argument block when the work is complete, passing the appropriateNCUpdateResult. Widgets should NOT block returning from viewWillAppear: on the results of this operation. Instead, widgets should load cached state in viewWillAppear: in order to match the state of the view from the last viewWillDisappear:, then transition smoothly to the new data when it arrives.
Sesja NSURLS
Note
The NSURLSessionTask class provides a new “priority” property with three associated constants: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLow, and NSURLSessionTaskPriorityHigh. NSURLSessionTask priorities can be used to specify how multiple requests and responses to the same host should be prioritized. Note that the priority is a hint and not a strict guarantee of NSURLSessionTask performance.

Pełne szczegóły użycia priorytetów NSURLSessionTask można znaleźć w pliku nagłówkowym NSURLSession.h dostarczanym przez platformę Foundation.
Telefon
Note
Aby aktywować funkcję połączeń Wi-Fi w T-Mobile (tylko w USA), wykonaj następujące kroki:

Wybierz Ustawienia > Telefon > Połączenia Wi-Fi.
Przełącz przełącznik Połączenia Wi-Fi w położenie WŁ.
Jeżeli operator nie posiada zarejestrowanego adresu alarmowego użytkownika, zostaniesz poproszony o jego dodanie przed aktywacją tej funkcji.
ZDJĘCIA
Uwagi
Przed włączeniem i podczas korzystania z biblioteki zdjęć iCloud w wersji beta utwórz kopię zapasową swojej biblioteki zdjęć, wykonując następujące czynności:

Importowanie na komputer Mac przy użyciu iPhoto
Importowanie na komputer Mac za pomocą programu Image Capture
Biblioteka zdjęć iCloud w wersji beta nie będzie pobierać zdjęć i filmów z iTunes zsynchronizowanych z Twoim urządzeniem. Wszelkie zdjęcia i filmy zsynchronizowane z Twoim urządzeniem z iTunes zostaną usunięte, gdy włączysz bibliotekę zdjęć iCloud w wersji beta.
iPhoto dla iOS nie zostanie uruchomione w wersji beta systemu iOS 8. Uruchomienie aplikacji Photos.app spowoduje migrację zmian wprowadzonych w iPhoto do biblioteki zdjęć systemu iOS 8. Upewnij się, że dane iPhoto dla iOS znajdują się w kopii zapasowej urządzenia.
Fixed in iOS 8.1 Beta
Możliwość automatycznej optymalizacji miejsca na urządzeniu jest włączona dla wszystkich kont większych niż 5 GB.
Znane problemy
If iCloud Photo Library beta is enabled, Settings -> iCloud -> Photos may crash.

Workaround: Use Settings -> Photos & Camera to manage settings for Photos.
Możliwość automatycznej optymalizacji miejsca na urządzeniu jest włączona dla wszystkich kont większych niż 5 GB.
Podczas korzystania z Udostępniania rodzinnego iCloud włączone są zarówno Udostępnianie zdjęć w iCloud, jak i Mój strumień zdjęć.
Profile udostępniania
Znana kwestia
Jeśli dokonałeś aktualizacji do wersji 8.1 Beta z wersji beta iOS 8, Twoje aplikacje mogą ulegać awariom z powodu problemów z profilem udostępniania.

Obejście:

Podłącz urządzenie przez USB do komputera Mac
Uruchom Xcode
Wybierz Okno -> Urządzenia
Kliknij prawym przyciskiem myszy urządzenie w lewej kolumnie i wybierz „Pokaż profile udostępniania”
Kliknij odpowiedni profil udostępniania
Naciśnij przycisk
Kontynuuj usuwanie wszystkich profili, których to dotyczy.
Zainstaluj ponownie aplikację
Synteza mowy
Fixed in iOS 8.1 Beta
AVSpeechSynthesizer may not work.

Workaround: If you don’t hear speech in a particular language or dialect, go Settings > General > Accessibility > Speech >Voices >Language and download the Enhanced Quality voice for that language/dialect.
Sklepy
Fixed in iOS 8.1 Beta
Czasami ładowanie niektórych stron lub wyszukiwanie w sklepie App Store lub iTunes Store może być powolne.
UIKit
Uwagi
UILabel has a default value of YES for clipsToBounds. This differs from the normal UIView default of NO.
The leftLayoutGuide and rightLayoutGuide APIs have been removed. Please use the layoutMargins property instead.
Fixed in iOS 8.1 Beta
RTF file support in UIWebView is broken.

Workaround: Show RTF files to the user is to use the Quick Look framework (QLPreviewController) or to load an NSAttributedString from the RTF file and show it in an UITextView, which will render the content in a much cleaner way.
WebKit
Note
Interfejs API nawigacji czasowej został wyłączony tylko w systemie iOS ze względu na problemy z wydajnością.
Połączenia Wi-Fi (tylko T-Mobile w USA)
Note
Nazwa operatora na pasku stanu będzie wyświetlać „T-Mobile Wi-Fi”, gdy urządzenie będzie mogło wykonywać i odbierać połączenia Wi-Fi.