Sådan underskrives Flutter-apps automatisk til iOS uden en Mac

Det kommer ikke som en overraskelse for nogen iOS-udvikler derude, at iOS-apps skal underskrives, før de kan installeres på fysiske enheder og sendes til slutbrugere via App Store. Alt hvad du behøver til dette er en Apple-udviklerkonto, et gyldigt underskrivelsescertifikat, en matchende provianteringsprofil ... og en Mac til at generere disse filer. Lyder som en masse problemer? At dømme efter antallet af spørgsmål relateret til iOS-kodesignering på Stackoverflow, kæmper mange udviklere med det. Vi forstår, at opsætning af kodesignering kan være en hovedpine, især når du prøver at få det til at fungere i et CI / CD-miljø, og endnu mere når du udvikler til flere platforme, som du kan gøre med Flutter SDK , og ejer ikke en Mac.

Men vent, vi har gode nyheder til alle Flutter-udviklerne! Codemagic har gjort hele kodesigneringsforretningen lettere end nogensinde før ved at eliminere nogle af de trin, der kræves i konventionel iOS-signaturproces.

Introduktion af et alternativ til konventionel iOS-kodesignering

Hvad hvis vi fortalte dig, at du ikke har brug for en Mac længere for at kunne underskrive din Flutter-app til iOS? Og hvad hvis du ikke behøver at bekymre dig om underskriftsfilerne og kunne få Codemagic til at tage sig af alt det for dig uden omkostninger? Det er nøjagtigt, hvad vi siger: Codemagic tilbyder automatisk kodesignering af Flutter-apps til iOS ved at generere underskrivelsescertifikatet og leveringsprofilen i appen, så du kan underskrive og sende appen til App Store som en del af build-processen. Læs videre for at få en oversigt over grundlæggende kodesignering og Codemagics nye automatiske kodesignaturfunktion.

At forstå det grundlæggende ved iOS-kodesignering

Inden vi skal beskrive, hvordan Codemagic gør sin magi ved at underskrive din Flutter-app til iOS, lad os se nærmere på, hvad der normalt er nødvendigt til iOS-kodesignering.

  • Apple-udviklerkonto. Tilmelding til Apple Developer Program er påkrævet for at bruge TestFlight til betatest eller frigivelse af appen til slutbrugere i App Store. Det er også nødvendigt at være i stand til at anmode om certifikater og downloade leveringsprofiler. Hvis du dog kun leder efter en måde at få en build, der kan installeres på en rigtig enhed, kan du følge denne tutorial om, hvordan du implementerer din app på en iPhone uden at tilmelde dig Apple Developer Program (men du har brug for en Mac til det).
  • Underskrivelsesattest. Certifikatet er et offentligt / privat nøglepar, der gør det muligt at identificere, hvem der har udviklet koden. Der er et personlig udviklingscertifikat til kodesignering af appen under udviklingsprocessen og et (delt) App Store og Ad Hoc distribueringscertifikat, der bruges, når du koder underskriver appen til distribution.
  • Leveringsprofil. En klargøringsprofil indeholder oplysninger om app-ID, de enheder, som appen kan installeres på, og de certifikater, der kan bruges til at underskrive appen. Ligesom med certifikater er der en udviklingsproviceringsprofil til kodesignering af appen under udviklingsprocessen og distributionsprovideringsprofiler (Ad Hoc eller App Store) til distribution. Mere specifikt kan Ad Hoc-distributionsprofilen bruges til at distribuere appen til ikke-Testflight-testere (f.eks. Via HockeyApp), mens du skal bruge App Store-distributionsprofilen til test på TestFlight eller frigive til App Store. I modsætning til andre leveringsprofiler er App Store-distributionsprofilen ikke knyttet til bestemte enheder.
  • En Mac. Du har brug for en Mac for først at anmode om et certifikat fra Apple og senere for at generere den certifikatfil, der kan uploades til tredjepartssystemer. En Mac er ikke rigtig påkrævet, når du udvikler Flutter-apps, så denne del af kodesigneringsprocessen kan vise sig at være et problem, når du ikke har en Mac, du kan bruge.

For at opsummere skal du bruge et udviklingscertifikat sammen med en udviklingsprovisionsprofil til at underskrive koden og installere din app på rigtige enheder, mens du udvikler. Når du planlægger at offentliggøre appen til testere eller frigive den til App Store, bliver du nødt til at bruge dit distributionscertifikat sammen med den relevante distributionskontrolprofil. Og for at kunne gøre alt det, skal du være medlem af Apple Developer Program og eje en Mac for at få de nødvendige filer til underskrift.

Hvis du vil læse mere om dette emne, kan du se på En begyndersvejledning til iOS-profiler.

Sådan fungerer det med Codemagic

Med automatisk kodesignering kan du få Codemagic til at generere et signeringscertifikat og en matchende provokeringsprofil til dig og bruge dem til kodesignering. Afhængig af den valgte provianteringstypetype opretter Codemagic en udviklings- eller distributionscertifikat og en udviklings-, ad hoc- eller App store-provokeringsprofil. På denne måde kan du få signerede builds, der kan installeres på rigtige enheder og distribueres til App Store - uden at eje en Mac.

Krav til brug af automatisk kodesignering

Inden du konfigurerer automatisk kodesignering, lad os gennemgå, hvad der er nødvendigt for at bruge Codemagics automatiske kodesignaturfunktion.

  • Apple-udviklerkonto. Du skal stadig være medlem af Apple Developer Program for at kunne underskrive kode og distribuere dine apps. Codemagic kræver din Apple-udviklerportal brugernavn og adgangskode for at generere certifikater og leveringsprofiler til dig. Vi anbefaler at tilføje en ny bruger til dit team og bruge denne konto med Codemagics automatiske kodesignaturfunktion.
  • Registrerede enheder. Codemagic opretter en reserveringsprofil, der indeholder alle de enheder, der er registreret på din Apple-udviklerkonto. Før hver bygning vil Codemagic kontrollere, om der er tilføjet nye enheder, og om nødvendigt opdaterer profilen.

Konfigurer automatisk kodesignering

Opsætning af automatisk kodesignering på Codemagic er hurtig og nem.

  1. Gå til dine appindstillinger.
  2. Sørg for, at du har valgt frigørelsestilstand i indstillinger for bygning.

3. I afsnittet Publicer skal du klikke på iOS-signatur for at udvide dette trin.

4. Vælg Automatisk som kodesignaturmetode.

5. Indtast dit Apple ID (Apple-udviklerportal-brugernavn) og Apple-udviklerportal-adgangskode.

6. Vælg derefter proviantypetypen.

7. Du kan også indtaste din apps bundt-id (valgfri). Som standard registrerer Codemagic det automatisk fra dit arkiv.

8. Klik til sidst på Gem for at afslutte installationen. Hvis din Apple-udviklerkonto har to-trins-verifikation eller totrins-godkendelse aktiveret, bliver du bedt om at indtaste din bekræftelseskode i en popup og klikke på Gem igen.

Det er det. Du modtager nu underskrevne builds til den aktuelle arbejdsgang. .Ipa-filen er tilgængelig til download i Artifacts-sektionen i build-oversigten og sendes også på din e-mail eller Slack-kanal, hvis du har publiceret til den konfigureret. Som et næste trin kan du konfigurere udgivelse til App Store Connect til at distribuere din underskrevne app til testere eller indsende den til gennemgang.

Wrap-up

Selvom du ikke strengt taget har brug for at underskrive appen, mens du udvikler, er der ingen undtagelse fra kodesignering og tilmelding til Apple Developer Program, når du planlægger at offentliggøre din app til offentligheden via App Store. Vi mener, at flere mennesker kan levere deres app til potentielle slutbrugere ved at fjerne behovet for en Mac til kodesigneringsformål.

I sidste ende er Codemagics automatiske kodesigneringsfunktion ikke kun for folk uden Mac: det fjerner simpelthen smerten fra hele processen ved at automatisere endnu et aspekt af appudvikling. Imidlertid kan de, der ønsker at forblive i fuld kontrol med kodesignering, fortsat bruge vores manuel kodesigneringsindstilling og uploade signeringsfiler manuelt.