How to make a mobile game in Unity?

Unity iOS Player Indstillinger: En Dybdegående Guide

01/10/2025

Rating: 4.43 (12176 votes)

Unity iOS Player Indstillinger: En Dybdegående Guide

Unity er en af de mest populære spiludviklingsmotorer på markedet, og dens evne til at eksportere til en bred vifte af platforme, herunder iOS, gør den til et foretrukket valg for mange udviklere. En afgørende del af at skabe en succesfuld iOS-app i Unity er at forstå og konfigurere de specifikke Player-indstillinger. Disse indstillinger giver dig kontrol over alt fra appens udseende på App Store til dens ydeevne på enheden. Denne guide vil tage dig igennem de vigtigste iOS Player-indstillinger i Unity, så du kan finjustere din app til perfektion.

What UI systems does unity support?
Unity currently supports three UI systems. More info This setting applies both Android and iOS. Select how the loading indicator appears. The options are Large, Inverse Large, Small, and Inverse Small. Use the Splash Image section to customize your app’s splash image for different iOS-supported devices.
Indholdsfortegnelse

Ikoner: Din Apps Visuelle Identitet

App-ikoner er det første, brugerne ser, og de spiller en vigtig rolle i at skabe et positivt førstehåndsindtryk. I Unitys iOS Player-indstillinger kan du tilpasse ikoner for forskellige iOS-enheder (iPhone og iPad). Disse indstillinger giver dig mulighed for at uploade og tildele brugerdefinerede ikoner til forskellige placeringer:

Ikon TypeHvor det vises
ApplikationsikonerHovedikoner for din app
Spotlight ikonerSpotlight søgeresultater
IndstillingsikonerEnhedens hovedindstillingsside
NotifikationsikonerNotifikationer sendt fra din app
MarketingikonerApp Store

Det er vigtigt at bemærke, at alle uploadede ikoner skal være af typen Texture 2D. Hvis et ikon mangler, vil Unity skalere det tilgængelige ikon med den nærmeste størrelse, med præference for større teksturer. At sikre korrekte ikonstørrelser og -formater er essentielt for et professionelt udseende.

Opløsning og Præsentation: Skærmens Udseende

Sektionen "Resolution and Presentation" giver dig mulighed for at styre, hvordan din app vises på skærmen. Her kan du finjustere opløsning, skærmretning og statuslinjeadfærd.

Opløsningsskalering

Med "Resolution Scaling Mode" kan du styre, hvordan din apps opløsning skalerer i forhold til enhedens native skærmopløsning. Valgmulighederne inkluderer:

  • Disabled: Ingen skalering finder sted, og appen renderer til den native skærmopløsning.
  • FixedDPI: Tillader dig at sætte en mål-DPI. Unity nedskalerer spilskærmen for at matche denne indstilling, hvis enhedens native skærm-DPI er højere. Dette er en effektiv metode til at optimere ydelse og batterilevetid.

Når du vælger FixedDPI, dukker "Target DPI"-egenskaben op, hvor du kan indstille den ønskede DPI. Unity beregner skalaen baseret på en formel, der involverer din mål-DPI, en faktor fra "Resolution Scaling Fixed DPI Factor" i kvalitetsindstillingerne og enhedens skærm-DPI.

Orientering

"Default Orientation"-indstillingen lader dig vælge appens skærmretning. "Auto Rotation" er standardindstillingen, som får skærmen til at rotere med enheden. Du kan også vælge faste retninger som "Portrait", "Portrait Upside Down", "Landscape Left" og "Landscape Right". Hver af disse faste retninger bestemmer placeringen af hjemknappen på skærmen.

Hvis "Auto Rotation" er valgt, kan du aktivere "Animated Autorotation" for en glattere overgang, når enheden roteres. Du kan også begrænse de tilladte orienteringer via "Allowed Orientations for Auto Rotation"-indstillingen, hvilket er nyttigt til at låse en app til f.eks. landskabstilhæng. Disse indstillinger gælder både for iOS og Android.

Multitasking Support

"Requires Fullscreen"-indstillingen sikrer, at din app kører i fuldskærmstilstand, hvilket er vigtigt for en uafbrudt brugeroplevelse.

Statuslinje

I "Status Bar"-sektionen kan du styre, om statuslinjen skal skjules ved appens start, og hvilken stil den skal have (Default eller Light). Du kan også vælge at deaktivere dybde- og stencilbuffere, hvilket kan have indflydelse på renderingens kompleksitet. "Render Over Native UI"-indstillingen tillader din app at blive vist oven på den native iOS- eller Android-brugergrænseflade.

Splash Image

Splash-billedet er det første billede, brugerne ser, når de åbner din app. Du kan tilpasse dette billede for forskellige iOS-enheder. "Virtual Reality Splash Image" giver dig mulighed for at vælge et brugerdefineret splash-billede specifikt til VR-displays.

Brugerdefinerede Storyboards og Launch Screens

Unity tilbyder fleksibilitet i, hvordan din apps startskærm implementeres. Du kan vælge at bruge brugerdefinerede storyboards, som oprettes i Xcode og kopieres til dit Unity-projekt. Dette giver avanceret kontrol over startoplevelsen.

Hvis du ikke bruger brugerdefinerede storyboards, kan du benytte dig af Unitys indbyggede launch screens. Disse kan konfigureres på flere måder:

Launch Screen TypeBeskrivelse
DefaultEn ensfarvet blå-sort baggrund, der matcher Unitys standard splash screen.
NoneApple understøtter ikke længere "Launch Images". Denne mulighed er for bagudkompatibilitet.
Image and background (relative size)Viser et billede centreret på skærmen, med resterende plads fyldt med en ensfarvet baggrund. Du kan vælge billeder til portræt- og landskabstilstand samt en baggrundsfarve og et "Fill percentage" for billedets størrelse.
Image and background (constant size)Ligner ovenstående, men billedstørrelsen specificeres i punkter (points) i stedet for procent.
Custom XIBTillader dig at vælge en brugerdefineret XIB-fil som loading-skærm.
Custom StoryboardTillader dig at vælge en brugerdefineret Storyboard-fil som loading-skærm.

Det er vigtigt at være opmærksom på begrænsningerne ved launch screens, især for iPads, hvor forskellige enhedsorienteringer kan være udfordrende at håndtere. Siden iOS 13 er launch screens dog mere kompatible med appens indstillinger for orientering og statuslinje.

Debugging og Fejlrapportering

Unitys iOS Player-indstillinger tilbyder også værktøjer til debugging og fejlrapportering, som er afgørende for at sikre en stabil app.

  • Enable Internal Profiler (Deprecated): Selvom denne funktion er forældet og erstattet af "Profiler"-vinduet, kunne den tidligere indsamle app-ydelsesdata.
  • On .Net UnhandledException: Her kan du vælge, hvordan din app skal reagere på ubehandlede .NET-undtagelser: "Crash" for at generere en fejlrapport, eller "Silent Exit" for at afslutte appen uden rapport.
  • Log Obj-C Uncaught Exceptions: Aktiver denne for at få vist information om ubehandlede Objective-C-undtagelser i konsollen.
  • Enable Crash Report API: Tillader integration med en brugerdefineret crash reporter for at indsamle detaljerede crash-rapporter.

Andre Vigtige Indstillinger

Ud over de ovennævnte kategorier findes der en række andre vigtige indstillinger:

Identifikation

Her angiver du appens Bundle Identifier (f.eks. com.CompanyName.ProductName), versionsnummer og build-nummer. Disse værdier er afgørende for, hvordan din app identificeres på iOS-enheder og i App Store. "Signing Team ID" og "Automatically Sign" er vigtige for at kunne signe din app korrekt.

Konfiguration

Scripting Backend: For iOS er dette som standard sat til IL2CPP, som kompilerer C#-kode til C++ og derefter til native maskinkode. Dette giver generelt bedre ydeevne. "API Compatibility Level" bestemmer, hvilke .NET-API'er du kan bruge, og kan påvirke kompatibiliteten med tredjepartsbiblioteker. "Use incremental GC" kan hjælpe med at reducere ydeevne-spikes forårsaget af garbage collection.

Apple-specifik Information

Denne sektion indeholder indstillinger som "Camera Usage Description", "Location Usage Description" og "Microphone Usage Description", som kræver, at du angiver en begrundelse for, hvorfor din app tilgår disse hardwarefunktioner. "Accelerometer Frequency", "Mute Other Audio Sources", "Prepare iOS for Recording" og "Force iOS Speakers when Recording" giver yderligere kontrol over lyd- og hardwareinteraktion.

Andre vigtige indstillinger inkluderer "Requires Persistent WiFi", "Allow downloads over HTTP" og "Supported URL schemes", som giver dig mulighed for at definere specifikke netværks- og URL-handlingskrav for din app.

Enhedsinformation

Her vælger du, hvilke enheder din app skal målrette (iPhone, iPad, eller begge) og hvilken SDK (Device eller Simulator) der skal bruges til build. "Target minimum iOS Version" bestemmer den ældste iOS-version, din app understøtter. "Enable ProMotion Support" giver mulighed for højere opdateringshastigheder på kompatible enheder, mens "Requires ARKit support" filtrerer enheder, der ikke understøtter ARKit.

"Automatically add capabilities" er en praktisk funktion, der automatisk genererer en entitlements.plist-fil, som tilføjer nødvendige capabilities for iOS API'er, din app bruger. "Defer system gestures on edges" giver brugerne mulighed for at udføre system-gestures med et dobbelt-swipe, hvilket er nyttigt for at undgå utilsigtede gestures. "Hide home button on iPhone X" og "Render Extra Frame on Pause" er specifikke indstillinger for visse enheder og scenarier.

Variant Map for App Slicing

Denne funktion, der er tilgængelig, når "Use on Demand Resource" er aktiveret, giver dig mulighed for at definere forskellige varianter af din app baseret på enhedstype, hukommelse og grafik. Dette er en del af Apples "App Slicing"-teknologi, der optimerer downloadstørrelsen for din app.

Andre Konfigurationsindstillinger

Under "Architecture" kan du vælge mellem "Universal" (anbefalet), "Armv7" eller "Arm64". "Active Input Handling" giver dig mulighed for at vælge mellem det gamle Input Manager og det nyere Input System.

Script Kompilering

Her kan du definere "Scripting Define Symbols" og "Additional Compiler Arguments" for at påvirke, hvordan dine scripts kompileres. Indstillinger som "Allow 'unsafe' Code" og "Use Deterministic Compilation" giver yderligere kontrol over kompileringsprocessen.

Optimering

"Prebake Collision" kan forbedre fysikydelsen ved at forudberegne kollisionsdata. "Keep Loaded Shaders Alive" forhindrer shaders i at blive aflæsset. "Preloaded Assets" lader dig specificere aktiver, der skal indlæses ved opstart. "Strip Engine Code" og "Managed Stripping Level" hjælper med at reducere appens størrelse ved at fjerne ubrugt kode. "Script Call Optimization" giver dig mulighed for at optimere ydeevnen ved at deaktivere fejlhåndtering i visse scenarier.

Logging

Du kan vælge, hvilken type logning der skal tillades (Error, Assert, Warning, Log, Exception) og hvor dybdegående logningen skal være (ScriptOnly, Full, None). Korrekt logning er essentielt for at diagnosticere problemer.

XR Indstillinger

Selvom indbygget support for XR SDK'er er ved at blive udfaset til fordel for XR Plug-in Management, kan du stadig konfigurere "Virtual Reality Supported" og tilføje nødvendige VR SDK'er her. "Stereo Rendering Mode" (Multi Pass eller Single Pass) påvirker, hvordan scener renderes for VR-enheder.

At mestre Unitys iOS Player-indstillinger er afgørende for at skabe en højtydende, visuelt tiltalende og robust iOS-app. Ved at forstå og konfigurere disse indstillinger omhyggeligt, kan du sikre, at din app leverer den bedst mulige oplevelse for dine brugere.

Ofte Stillede Spørgsmål (FAQ)

Hvad er den vigtigste indstilling for at optimere ydeevnen på iOS?

"Resolution Scaling" med "FixedDPI" og "Managed Stripping Level" til "High" er ofte de mest effektive indstillinger til at optimere ydeevnen og reducere appens størrelse.

Hvordan tilføjer jeg brugerdefinerede ikoner til min iOS-app i Unity?

Gå til "Player Settings" > "Icon" og upload dine ikoner som "Texture 2D"-assets for hver enhedstype og placering.

Kan jeg bruge forskellige startskærme til forskellige enheder?

Ja, du kan bruge brugerdefinerede storyboards eller XIB-filer, eller konfigurere "Image and background"-indstillingerne separat for iPhone og iPad for at opnå forskellige startskærme.

Hvad er IL2CPP, og hvorfor er det standard for iOS?

IL2CPP (Intermediate Language To C++) er et scripting-backend, der kompilerer C#-kode til C++ og derefter til native maskinkode. Det giver generelt bedre ydeevne og hukommelseshåndtering på iOS sammenlignet med Mono.

Hvordan kan jeg fejlfinde crashes i min iOS-app bygget med Unity?

Sørg for at have "On .Net UnhandledException" sat til "Crash" og "Log Obj-C Uncaught Exceptions" aktiveret. Brug "Enable Crash Report API" til at integrere med et eksternt crash-rapporteringssystem for mere detaljerede analyser.

Hvis du vil læse andre artikler, der ligner Unity iOS Player Indstillinger: En Dybdegående Guide, kan du besøge kategorien Teknologi.

Go up