iOS 10.1 beta 1 er blevet frigivet

iOS 10.1 beta 1 blev udgivet for blot et par minutter siden til iPhone, iPad og iPod Touch app udviklere.

iOS 10.1 beta 1 blev frigivet for blot et par minutter siden af ​​Apple-firmaet til iPhone, iPad og iPod Touch applikationsudviklere over hele verden. Opdateringen kommer blot en uge efter, at den endelige version af iOS 10 blev tilbudt til offentligheden, hvor Apple sandsynligvis forbereder en række vigtige ændringer.

I betragtning af at vi taler om en iOS 10.1 beta 1, som er en opgradering til den tidligere version, er du muligvis applikationsudvikler nødt til at downloade en ny profil. Du kan gøre dette direkte fra din udviklerkonto, som du har i den tilgængelige portal på Apples websted.

For nu har dem fra Apple ikke sagt, hvilke nyheder iOS 10.1 beta 1 bringer for brugerne, men vi taler bestemt om at løse problemer med flytilstand, med de nye EarPods-hovedtelefoner, men også med Lightning-adapteren. Alle disse problemer blev rapporteret for iPhone 7 og iPhone 7 Plus umiddelbart efter deres udgivelse og vil blive løst med denne opdatering.

iOS 10.1 beta 1 er blevet frigivet

iOS 10.1 beta 1Nedenfor har du hele listen over iOS 10.1 beta 1 nyheder, og som du kan se, taler vi om mange ændringer implementeret af dem fra Cupertino. Mange af ændringerne er relateret til fejlrettelser af operativsystemet, så der er ingen reference til Airplane Mode eller Lightning-hovedtelefoner, men løsningerne findes bestemt.

OPDATERING: watchOS 3.1 beta 1 er også blevet frigivet

UPDATE 2: macOS 10.12.1 beta 1 blev også udgivet.

mere snart...

Rettet i denne udgivelse
Motion
Barometriske trykdata fra CMAltimeter rapporteres nu på iPad Air 2, iPad mini 4 og
iPad Pro.
Noter og kendte problemer
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, kald [NSObject valueForKey:] med en nul-tast
ekstraordinært år. Tidligere førte dette til udefineret adfærd; nu får det din app til at gå ned.
• 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.
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
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 3 af 8
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.
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.
• 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.
Noter
Noter kan stoppe uventet.
Løsning: Slå Notes fra og til, i Indstillinger > iCloud.
NSUserActivity
Et NSUserActivity-objekt har muligvis ikke nogen brugeroplysninger efter Handoff.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 4 af 8
Løsning: Kald eksplicit becomeCurrent på aktivitetsobjektet.
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.
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
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 5 af 8
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å
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.
 Copyright © 2016 Apple Inc. Alle rettigheder forbeholdes. Vilkår for brug. Fortrolighedspolitik. Side 6 af 8
Disse ændringer korrigerer denne adfærd, og modtagerens position og normalt dens størrelse vil ikke
blive påvirket af -layoutIfNeeded.
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().
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 Today-widget på en enhed, vises den ikke som en mulig app
udvidelse.
Løsning: Fejlfinding igen, så appudvidelsen vises.
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