iOS 10 beta 8 er blevet frigivet

iOS 10 beta 8 blev udgivet af Apple til iPhone, iPad og iPod Touch, hvor applikationsudviklere var de første til at modtage denne build. I sidste uge udgav Apple iOS 10 beta 7 til udviklere og brugere af det offentlige betaprogram, men en ny build er tilgængelig nu, præcis 7 dage væk.

iOS 10 beta 8 kan i øjeblikket kun installeres af udviklere af applikationer til iOS-platformen, uanset om de har en gammel version installeret eller ej. Hvis du allerede har en iOS-version 10 beta for udviklere installeret, kan du installere iOS 10 beta 8 gennem softwareopdateringssystemet, implementeret af Apple i iOS-systemet.

iOS 10 beta 7 udgivet i sidste uge indeholder løse nogle sikkerhedssårbarheder af styresystemet, og de bliver officielt tilbudt i iOS 9.3.5 fra i går. Indtil videre vides det ikke, hvad ny iOS 10 beta 8 bringer, men vi taler sandsynligvis om andre ændringer, som dem fra Cupertino nu tester med udviklerne.

OPDATER: iOS 10 public beta 7 er også blevet frigivet.

I betragtning af at den offentlige beta 7-version af iOS 10 er blevet frigivet, kan du installere den via softwareopdateringssystemet. Mere præcist, gå ind Indstillinger> Generelt> Softwareopdatering, Indstillinger > Generelt > Softwareopdatering og følg instruktionerne der for at udføre installationen.

UPDATE 2: Desværre ser mange mennesker en fejl, Kan ikke søge efter opdateringer, Kan ikke søge efter opdatering, som forhindrer opdateringen i at blive vist i applikationen Indstillinger, Konfigurationer, og indtil videre kan du absolut intet gøre for at løse problemet.

ios 10 beta 8 fejl

UPDATE 3: tvOS 10 beta 7 er også blevet frigivet.

iOS 10 beta 8

UPDATE 4: Her er nyhederne opført af Apple på listen over ændringer.

Noter og kendte problemer
AVFoundation
Bemærk
I iOS 10 beta 3 er navnene på de valgfrie AVCapturePhotoCaptureDelegate-metoder
didFinishProcessingPhoto og didFinishProcessingRawPhoto blev ændret til
didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSetting
s:bracketSettings:fejl: og
didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSetting
s:bracketSettings:error:, hhv. Kode, der bruger de tidligere navne (såsom
WWDC-versionen af ​​AVCamManual-eksempelprojektet) vil fortsætte med at kompilere, men den ældre
delegerede tilbagekald vil ikke udføres.
Binær kompatibilitet
• Apple reserverer præfikser på to bogstaver til brug i rammeklasser. Når du navngiver din egen
klasser, skal du bruge et præfiks på tre bogstaver. Retningslinjerne kan gennemgås her:
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/
ProgrammeringWithObjectiveC/Conventions/Conventions.html
Hvis du ikke følger disse retningslinjer, kan det resultere i, at din app går ned under betasoftware
udgivelser.
• Ved genkompilering med iOS 10.0 kaldes [NSObject valueForKey:] med en nul-nøgle
giver en undtagelse. Tidligere førte dette til udefineret adfærd; nu får det din app til
krak.
• Henvisning til en systemskrifttype efter navn i et kald til +[UIFont fontWithName:size:] forårsager
at styrte. For mere information, se https://developer.apple.com/videos/play/
wwdc2015/804/
• For at forbedre kundernes privatliv, https:// URL'er, NSURLSession og NSURLConnection nr
længere understøtter RC4-krypteringspakker under TLS-håndtrykket. Berørte apps og tjenester
bør opgradere webservere til at bruge mere moderne krypteringspakker.
• Apps kan hænge, ​​hvis de ændrer en superviews geometri i viewWillLayoutSubviews eller
layoutUndervisninger.
• NSURLConnection tillader forbindelser, der bruger TLS-protokolversioner, der er lavere end
protokolversion specificeret af en ATS-politik via NSExceptionMinimumTLSVersion eller
NSTThirdPartyExceptionMinimumTLSVersion nøgler. Berørte apps og tjenester bør
opgradere webservere til at bruge mere moderne TLS-protokolversioner.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 3 af 10
CFNetwork HTTP-protokol
Klassen NSMutableURLRequest kræver, at HTTPBodyStream-egenskaben er uåbnet
stream, og klasserne NSURLConnection og NSURLSession håndhæver nu dette strengt
krav om uåbnet stream. Berørte apps bør sikre, at enhver NSInputStream, der er
forudsat er endnu ikke blevet åbnet.
CloudKit
Når du bygger og kører fra Xcode gentagne gange, kan langvarige operationer mislykkes med et "Du
har ikke tilladelse til at gemme filen", fordi containerstien ændres gentagne gange.
FaceTime
FaceTime-opkald mellem denne beta og ældre iOS- og macOS-betaer understøttes ikke. Vær venlig
opdater din Mac og iPhone til den nyeste version.
HomeKit
Tilføjelse af WAC HomeKit-tilbehør kan mislykkes ved brug af Home-appen, hvis netværkslegitimationsoplysningerne er det
ikke først leveret ved hjælp af indstillingen Indstillinger > Wi-Fi > Konfigurer ny enhed.
Løsning: Hvis tilføjelsen af ​​et sådant HomeKit-tilbehør mislykkes, skal du angive netværkslegitimationsoplysningerne ved hjælp af
Indstillinger > Wi-Fi > Konfigurer ny enhed. Efter at tilbehøret er tilsluttet netværket,
tilbehør kan tilføjes ved hjælp af Home-appen.
libdispatch
Libdispatch hævder, hvis der er et hæng detekteret på grund af en dødvande i dispatch_barrier_sync.
Beskeder
• Når UISearchController og UITableViewController bruges i meddelelser
udvidelser, kan deres indhold skjules under den øverste bjælke.
Løsning: Brug indsætninger på omkring 80px på toppen og 40px i bunden.
• Kun i Simulator, når lokaliseretChangeDescription i insertMessage:
localizedChangeDescription:completionHandler: metode er indstillet til
$localParticipantIdentifier.UUIDString, den
$localParticipantIdentifier.UUIDString er ikke erstattet med brugerens meddelelser
ID, og ​​UUIDSngen udskrives som den er.
• Når appen Beskeder i Simulator tvinges til at afslutte, går beskedhistorikken tabt.
• Når et UIAlertController-objekt præsenteres i en Messages-udvidelse, afkortes det
ved den nederste bjælke i udvidelsen.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 4 af 10
• Hvis en log-in-dialogboks vises, mens du udfører et køb i appen eller forsøger at købe
indhold fra butikken, eller butikken eller udvidelsen vil blive afvist.
• Det lokale deltager-UUID er det samme for begge samtaledeltagere i simulatoren
alene.
Løsning: Brug en enhed til at teste UUID-sammenligninger.
• Når du læser beskeder, beskriver Siri ikke nøjagtigt nye beskedtyper eller
funktioner.
Mobile Device Management
• Fra og med iOS 10 er SCEP-nyttelaster ikke længere som standard MD5, hvis en SCEP-server ikke
returnere en CACaps eller ikke påberåbe sig kapacitet til SHA-1, SHA-256 eller SHA-512 i
CACaps.
Hvis en SCEP-server ikke reagerer på GetCACaps, vil SHA-1 blive antaget og brugt til
SCEP forsøget.
Hvis SCEP-serverne reagerer på GetCACaps, skal serveren bemærke, at de har SHA-1,
SHA-256- eller SHA-512-kapacitet eller SCEP-tilmeldingsanmodningen mislykkedes pga.
utilstrækkelige kapaciteter.
Se WWDC 2016-sessionen Hvad er nyt i administration af Apple-enheder for mere
information.
• For at tilskynde til stærkere brug af adgangskode vil iOS 10 altid bede en bruger om at oprette en
adgangskode på mindst 6 tegn på en TouchID-kompatibel enhed, selvom en adgangskodepolitik
er på plads, der tillader kortere adgangskoder. I dette tilfælde kan brugerne stadig indtaste en kortere
adgangskode, der overholder adgangskodepolitikken.
Musik
• Nyligt spillet i For You opdateres muligvis ikke med det samme.
• MPMediaPickerController vises muligvis ikke som forventet.
• Sletning af Apple Music kan forhindre visse tilbehør i at afspille lydbøger, podcasts,
og mere. Download Apple Music fra App Store for at gendanne afspilning.
• I dag-widgetten til musik viser muligvis ikke al musik, der er afspillet for nylig.
Når du er tilsluttet en bil, fungerer visse funktioner muligvis ikke som forventet:
• Redigering af Næste kan uventet forstyrre afspilningen.
• Mens du bruger CarPlay, viser View All Stations endnu ikke alle stationer.
Noter
Noter kan stoppe uventet.
Løsning: Slå Notes fra og derefter til i Indstillinger > Generelt > iCloud.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 5 af 10
NSUserActivity
Et NSUserActivity-objekt har muligvis ikke nogen brugeroplysninger efter overdragelse.
Løsning: Kald eksplicit becomeCurrent på aktivitetsobjektet.
Telefon
Voicemail-transskription (beta) er tilgængelig på iPhone 6s, iPhone 6s Plus og iPhone SE med Siri
sprog indstillet til engelsk (USA eller Canada).
pics
• Synkronisering af personer er ikke aktiveret via iCloud Photo Library i iOS 10.
• Memories, Related, People og Scene understøttes ikke på 32-bit enheder.
Safari
• WebGeolocation kræver nu et sikkert (HTTPS) websted for at fungere på både iOS og
macOS for at forhindre ondsindet brug af lokalitetsdata.
• WKWebView respekterer nu som standard user-scalable=no fra en viewport. Kunder af
WKWebView kan forbedre tilgængeligheden og give brugerne mulighed for at knibe for at zoome på alle sider efter
indstilling af egenskaben WKWebViewConfiguration ignorererViewportScaleLimits til YES.
• SFSafariViewControllerConfiguration og -[SFSafariViewController
initWithURL:configuration:] API'er er blevet fjernet, og –
[SFSafariViewController initWithURL:entersReaderIfAvailable:] er ikke længere
markeret som forældet. Egenskaben foretrukketBarTintColor er blevet flyttet til
SFSafariViewController sammen med en ny egenskab foretrukket ControlTintColor
som klienter skal bruge i stedet for at indstille tintColor direkte på visningen. Apps linket på
iOS 10 eller nyere vil ikke længere videresende deres visnings farvetone til SFSafariViewController.
Hurtige legepladser
Swift Playgrounds er en helt ny app designet til at hjælpe folk med at lære at kode med Swift 3.
Det tilbyder indhold, der kan downloades, inklusive Lær at kode del 1 og Lær at kode del 2 – som
underviser i det grundlæggende i kodning i Swift – og yderligere udfordringer, du kan udforske. Du
kan også eksperimentere på egen hånd ved at lave legepladser baseret på skabelonerne, opret en
tom legeplads, eller åbne legepladser oprettet i Xcode.
Swift Playgrounds er inkluderet i iOS 10 beta 8.
Swift Playgrounds beta 8 indeholder Lær at kode del 1 og Lær at kode del 2.
Noter
• Legepladser, der ikke er gemt i iCloud, er ikke tilgængelige ved opgradering til versionen
af Swift Playgrounds tilgængelige i App Store til efteråret. For at beholde dine legepladser, enten
slå iCloud til, eller brug delearket til AirDrop, Send besked eller e-mail til dine legepladser
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 6 af 10
sikkerhedskopiere på en anden computer eller enhed, før du flytter til den endelige Swift-udgivelse
Legepladser.
• Swift Playgrounds beta 6 bruger Swift 3.0 preview 4 (swiftlang-800.0.41.1). Kode skrevet
Brug af andre versioner af Swift virker muligvis ikke i Swift Playgrounds beta 6-8.
• Legepladser oprettet med Swift Playgrounds beta 1 til 4 afvikles ikke korrekt
Swift Playgrounds beta 8. På samme måde er legepladser gjort tilgængelige for Swift Playgrounds
beta 7 kører ikke korrekt, når den køres på Swift Playgrounds beta 1 til 4. Denne
begrænsningen omfatter legepladserne i Lær at kode.
• Swift Playgrounds på iPad holder ikke styr på, om du har udvidet en
inline Hurtigt kig efter værdier i editoren. For eksempel, hvis du redigerer en Swift 3-legeplads, der
havde et udvidet Quick Look, skjules Quick Looks, når du gemmer.
• AVFoundation er tilgængelig, men input capture returnerer intet.
For eksempel er AVCapturePreviewLayer altid et tomt gennemsigtigt lag.
• Et problem forhindrer SceneKit-visninger (SCNView) i at blive gengivet inde i Swift
Legepladser, når det aktuelle kamera (SCNCamera) bruger nye effekter, såsom farver
gradering, farvekant eller mætning og kontrast.
• GameController-rammeværket er tilgængeligt og ser ud til at oprette forbindelse til
controllere, men knaphåndteringsblokke kaldes aldrig.
UIKit
Noter
• Før iOS 10 var det muligt at tilsidesætte [UIStackView
initWithArrangedSubviews:], men dette var tænkt som en bekvem initialisering og
implementeret som sådan. Vi har nu håndhævet dette i overskrifterne. Som et resultat, Swift-kunder
kan ikke længere tilsidesætte denne metode, fordi Swift initializer regler forhindrer tilsidesættelse af en
bekvemme initialisering.
• I iOS 10 har UIKit opdateret og samlet baggrundsstyring for UINavigationBar,
UITabBar og UIToolbar. Især ændringer i baggrundsegenskaberne for disse visninger
(såsom baggrunds- eller skyggebilleder eller indstilling af bjælkestilen) kan sætte gang i et layout
pass for bjælken for at løse det nye baggrundsudseende.
Det betyder især, at man forsøger at ændre baggrundsudseendet på disse
søjler inde i -[UIView layoutSubviews], -[UIView updateConstraints], –
[UIViewController willLayoutSubviews], -[UIViewController
didLayoutSubviews], -[UIViewController updateViewConstraints], eller en hvilken som helst anden
metode, der kaldes som svar på layout, kan resultere i en layoutløkke.
I nogle tilfælde kan du bryde disse layoutløkker ved at sikre, at du altid bruger dem
samme objektforekomst, når objekter (såsom UIImage eller UIColor) er påkrævet. Drik ind
generelt bør du undgå at gøre dette.
Fordi alle udseendeparametre nu er løst på én gang, kan der være nogle
tilfælde, hvor din bars udseende har ændret sig. Generelt opnås de bedste resultater ved
specificere så lidt som muligt for at tilpasse din bar. For eksempel, hvis du specificerer
en barTintColor-værdi og angive et tomt UIImage-objekt for baggrundsbilledet
ejendom (som det er tilfældet, når du for eksempel kalder [UIImage new], så skal du få
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 7 af 10
bedre resultater ved kun at angive barTintColor. Eventuelle ændringer, du foretager for at løse
disse problemer i iOS 10 burde også fungere korrekt i iOS 9 – hvis dette ikke er tilfældet, tak
rapporter fejl med et eksempelprojekt og et skærmbillede, der angiver, hvordan søjlerne skal se ud
synes godt om.
• I iOS 10 er der en lille UIGestureRecognizer adfærdsændring, når du fjerner en
genkender i øjeblikket (det vil sige midtflyvning) gestusgenkender fra sin UIView. Tidligere,
fjernelse af gestusgenkenderen midt på flyvningen ville ikke eksplicit annullere gestus
genkender, hvilket giver dig mulighed for at genføje gestusgenkendelsen tilbage til den samme visning eller til en
anderledes udsigt. I iOS 10, kalder -[UIView removeGestureRecognizer:] på visningen af
en bevægelsesgenkendelse midt på flyvningen annullerer eksplicit bevægelsesgenkendelsen. Hvis en bruger ønsker det
ændre visningen af ​​en midflight gestus genkender, kan du blot kalde -[UIView
addGestureRecognizer:] på den visning, du ønsker at flytte gestusgenkendelsen til.
• Præsenterede visningscontrollere kan nu påvirke statuslinjens udseende, selvom de var det
præsenteret fra en visningscontroller, der ikke påvirkede statuslinjen (f.eks. en
popover). Som standard antages det, at brugerdefinerede visningscontrollerpræsentationer ikke påvirker
statuslinje; brug egenskaben modalPresentationCapturesStatusBarAppearance på
UIViewController til at tillade en præsenteret visningscontroller at deltage i statuslinjen
udseende.
• Det har altid været et krav, at UIViewController underklasser kalder super's
implementering af -awakeFromNib fra deres egne tilsidesættelser. Starter i iOS 10, –
awakeFromNib er korrekt kommenteret med NS_REQUIRES_SUPER-attributten for at detektere
implementeringer, der ikke overholder dette krav. For at rette denne advarsel skal du sikre dig, at alle koder
stier til dit tilsidesættelseskald [super awakeFromNib].
• Når du kører på iPad, indstilles baggrundsfarven for en UITableViewCell i et Storyboard
er nu respekteret.
• Fra iOS 10 understøtter UITableViewHeaderFooterView NSCoding, så hvis en visning med
denne klasse er i en XIB, den afkoder nu korrekt. Konsekvensen er, at apps kan udstilles
noget ekstra indhold til disse visninger, som ikke dukkede op før på grund af den fejl, der var
fastgjort.
• Til meget brede tabelvisninger, hvor cellelayoutmargener automatisk er blevet øget til
følg den læsbare bredde, separatorindsættelser fortolkes nu i forhold til disse venstre og
højre marginer i stedet for fra kanterne af tabelvisningen.
• Sammensmeltningen af ​​UITouch-levering er blevet væsentligt forbedret, især i tilfælde
hvor brugere både ville røre ved skærmen og bruge Apple Pencil på samme tid på iPad
Pro og appen var ikke i stand til at behandle dem med den indgående hastighed. I visse scenarier,
begivenheder kan stadig komme ind med en højere hastighed, end displayet opdaterer. Dette forventes, og
din app bør forudse dette og håndtere i overensstemmelse hermed.
• I iOS 10 påvirker vinduer, der ikke er fuld skærm, ikke statuslinjens udseende.
• Afsendelse af -layoutIfNeeded til en visning forventes ikke at flytte visningen, men tidligere
udgivelser, hvis visningen havde oversat AutoresizingMaskIntoConstraints == falsk,
og hvis det blev placeret af begrænsninger, ville -layoutIfNeeded flytte visningen til
match layoutmotoren, før du sender layout til undertræet.
Disse ændringer korrigerer denne adfærd, og modtagerens position og normalt dens størrelse vil ikke
blive påvirket af -layoutIfNeeded.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 8 af 10
Noget eksisterende kode kan være afhængig af denne forkerte adfærd, som nu er rettet. Ther
er ingen adfærdsændring for binære filer linket før iOS 10, men når du bygger på iOS 10 du
skal muligvis rette nogle situationer ved at sende -layoutIfNeeded til en supervision af
translatesAutoresizingMaskIntoConstraints == falsk visning, der var den forrige
modtager, ellers placere og dimensionere den før (eller efter, afhængigt af dit ønske
adfærd) -layoutIfNeeded.
• Tredjepartsapps med brugerdefinerede UIView-underklasser ved hjælp af Auto Layout, der tilsidesætter
layoutUndervisninger og snavset layout på selv, før du kalder super, risikerer at udløse en
layout feedback loop, når de genopbygger på iOS 10. Når de sendes korrekt
efterfølgende -layoutSubviews opkald skal de være sikre på at stoppe med at snavse layout på sig selv på
et punkt (bemærk, at dette opkald blev sprunget over i udgivelsen før iOS 10).
• Vendbare billeder fungerer ved at have to billeder i et aktiv, hver med forskellige
levet retningsbestemthed. Når du opretter et afledt UIImage-objekt ved hjælp af -imageWith...
metoder, er det ikke længere forbundet med det billedaktiv, det kom fra. At skabe en
vendbart skabelonbillede ved kørsel, brug UIImageAsset.
• Kilden til UIContentSizeCategoryDidChangeNotification-meddelelsen er nu
UIScreen.main() i stedet for UIApplication.shared().
• Der er to egenskaber i klassen UIViewPropertyAnimator og en metode i
UIViewAnimating-protokol, der ikke er tilgængelig i iOS 10 beta 1.
UIViewPropertyAnimator:
@property(nonatomic, getter=erManualHitTestingEnabled) BOOL
manualHitTestingEnabled;
@property(ikke-atomisk, skrivebeskyttet) NSTimeInterval delay;
UIViewAnimering:
(void)startAnimationAfterDelay:(NSTimeInterval)delay;
Kendt problem
For UIImage-objekter, der er oprettet ud fra CIImage-objekter, er UIImage-tegnemetoderne
(drawInRect, drawAtPoint) vil altid konvertere til DeviceRGB-farverummet før tegning.
Dette resulterer i tab af udvidet farveinformation, når du tegner ind i en bredfarvet grafik
sammenhæng.
Løsning: Du kan hente det underliggende CIImage via egenskaben UIImage.CIImage og
render det ved hjælp af en CIContext oprettet med det passende farverum (Udvidet sRGB) og
pixelformat (fuldt flydende).
Et UIImage-objekt, der er oprettet fra CGImageRef, påvirkes ikke, og vil tegne korrekt
uden tab af farveinformation.
Widgets
Første gang du fejlretter en widget (det vil sige en Today-udvidelse) på en enhed, vises den ikke som en
mulig forlængelse.
Løsning: Fejlfinding igen for at få udvidelsen vist.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 9 af 10
Xcode
• Af og til starter appen ikke ved at bruge Command-Shift-HH fra startskærmen
skifter.
Løsning: Start enhver app, før du bruger Command-Shift-HH.
• Intents.framework-protokolmetoder kræver @objc-annotering for at være korrekt brokoblet
mellem Obj-C og Swift 2.3.