How do I test a web application on my iPhone?

Test af Webapps på iPhone: Adgang til Lokalhost

17/09/2022

Rating: 4.93 (5392 votes)

Som webudvikler er det afgørende at kunne teste dine applikationer og hjemmesider på forskellige enheder for at sikre en problemfri brugeroplevelse. Selvom desktopbrowsere er fantastiske til det meste af udviklingsarbejdet, er der intet, der slår at se din applikation køre på en ægte mobil enhed. Denne guide vil dykke ned i, hvordan du nemt kan teste din webapplikation, der kører på din lokale udviklingsserver (også kendt som localhost), direkte fra din iPhone. Vi dækker alt fra grundlæggende netværksopsætning til specifikke værktøjer og almindelig fejlfinding, så du kan optimere din udviklingsproces og sikre, at dine projekter ser perfekte ud på iOS-enheder.

How to set up localhost on Mac?
All three methods require a short preliminary setup on Mac’s local hostname. This will be used as an alias to localhost and will be typed as the web address on mobile. So let’s set up your local host: Now grab your iphone and go to h ttp://yourname.local in a web browser.
Indholdsfortegnelse

Forudsætninger for at teste din webapp på iPhone

Før vi dykker ned i de tekniske detaljer, er der et par vigtige forudsætninger, der skal være opfyldt for at sikre en succesfuld forbindelse mellem din udviklingsmaskine og din iPhone. Disse trin danner grundlaget for enhver lokal testopsætning.

  • Samme lokale netværk: Både din udviklingsmaskine (computer) og din iPhone skal være forbundet til det samme lokale netværk. Dette betyder typisk, at de begge skal være tilsluttet den samme Wi-Fi-router. Hvis din computer er forbundet via et ethernetkabel, og din iPhone via Wi-Fi, er det stadig det samme lokale netværk, så længe de er forbundet til den samme router.
  • Udviklingsserver kørende: Din webapplikation skal køre på din udviklingsmaskine, og dens udviklingsserver skal være aktiv og lytte efter indgående forbindelser. Dette er typisk en proces, du starter via en kommando i din terminal eller via et program som MAMP.
  • Portnummer: Du skal kende det portnummer, som din udviklingsserver lytter på. Standardporte er ofte 3000, 8000, 5000 eller 8080, men dette kan variere afhængigt af din specifikke opsætning eller framework (f.eks. Vite, React, Vue, Angular).

Find din lokale IP-adresse

For at din iPhone kan finde din udviklingsserver, skal den kende din computers unikke adresse på det lokale netværk – din lokale IP-adresse. Denne adresse er anderledes end din offentlige IP-adresse, som internettet bruger til at identificere dig. Her er hvordan du finder den, afhængigt af dit operativsystem:

På Windows:

Åbn Kommandoprompten. Du kan finde den ved at søge efter "cmd" i Startmenuen. Når den er åben, skal du skrive ipconfig og trykke på Enter. Du skal lede efter "IPv4-adresse" eller "IP-adresse" under den netværksadapter, du bruger (f.eks. "Ethernet-adapter" eller "Trådløs LAN-adapter Wi-Fi"). Adressen vil typisk se ud som 192.168.1.X eller 10.0.0.X.

På Mac:

Åbn Terminalen, som du finder i Mappen Hjælpeprogrammer. Skriv ifconfig | grep inet og tryk på Enter. Du vil se flere linjer; den adresse, du leder efter, er den, der ikke er 127.0.0.1 (som er localhost). Den begynder ofte med 192.168.1.X eller 10.0.0.X. Alternativt kan du gå til Systemindstillinger > Netværk og se din IP-adresse der.

På Linux:

Åbn Terminalen. Skriv hostname -I (det er et stort 'i') og tryk på Enter. Dette vil give dig din lokale IP-adresse. Hvis denne kommando ikke virker, kan du prøve ip addr show og lede efter din IP-adresse under din aktive netværksgrænseflade.

Her er en hurtig oversigt over kommandoerne:

OperativsystemKommando til at finde IPEksempel på IP
Windowsipconfig192.168.1.5
Macifconfig | grep inet eller Systemindstillinger > Netværk192.168.1.7
Linuxhostname -I eller ip addr show192.168.1.9

Konfigurer din udviklingsserver til at være tilgængelig

En almindelig faldgrube er, at din udviklingsserver som standard kun lytter på localhost (127.0.0.1), hvilket betyder, at den kun er tilgængelig fra din egen maskine. For at gøre den tilgængelig fra andre enheder på dit netværk, som din iPhone, skal du konfigurere din server til at lytte på alle tilgængelige netværksgrænseflader. Dette gøres typisk ved at binde serveren til 0.0.0.0.

Processen for at ændre dette afhænger af den udviklingsserver eller det framework, du bruger.

Eksempel med Vite:

Hvis du bruger Vite, skal du åbne din vite.config.js-fil og tilføje eller ændre serverkonfigurationen, så den inkluderer host: '0.0.0.0':

export default { server: { host: '0.0.0.0' } } 

Efter at have foretaget denne ændring, skal du genstarte din udviklingsserver. Den bør nu vise, at den er tilgængelig på 0.0.0.0:3000 (eller hvilket portnummer du nu bruger). Dette indikerer, at den er klar til at modtage forbindelser fra andre enheder på dit lokale netværk.

Sådan får du adgang fra din iPhone

Når du har fundet din computers IP-adresse og konfigureret din udviklingsserver til at lytte på 0.0.0.0, er det sidste skridt at få adgang til den fra din iPhone.

How do I test a web application on my iPhone?
If you are developing a web application and want to test it on your iPhone, you can access your localhost development server directly from your iPhone. Here's how to do it: Ensure both your development machine and iPhone are connected to the same local network (e.g., the same WiFi). 1. Find Your Local IP Address Windows: Open the Command Prompt.
  1. Åbn Safari eller en hvilken som helst anden webbrowser på din iPhone.
  2. Indtast den lokale IP-adresse, du fandt i trin 1, efterfulgt af portnummeret. For eksempel, hvis din IP-adresse er 192.168.1.5 og din server kører på port 3000, skal du indtaste:
    http://192.168.1.5:3000
  3. Tryk på Enter, og din webapplikation skulle nu indlæses på din iPhone.

Specifikke opsætninger og værktøjer

Afhængigt af dit specifikke udviklingsmiljø kan der være yderligere trin eller alternative metoder, der kan gøre processen lettere eller mere stabil.

Brug af MAMP (Mac)

MAMP er et populært værktøj til at køre en lokal webserver (Apache, MySQL, PHP) på macOS. For at få MAMP-sider tilgængelige på din iPhone, skal du først konfigurere et lokalt hostnavn og derefter dele din Macs internetforbindelse via USB.

  1. Konfigurer lokalt hostnavn:
    • Gå til Systemindstillinger > Deling.
    • Nær teksten "Computers on your local network..." klik på "Rediger" knappen.
    • Tilføj dit foretrukne navn, f.eks. ditnavn.local. Dette vil fungere som et alias for localhost.
    • Brug dette navn i stedet for localhost i din workflow.
  2. Start MAMP-servere: Åbn MAMP og klik på "Start Servers".
  3. Del internet via iPhone USB:
    • Forbind din iPhone til din Mac med et USB-kabel.
    • Gå til Systemindstillinger > Deling.
    • Vælg "Internetdeling" fra menuen til venstre.
    • På højre side, sæt flueben ved "iPhone USB".
    • Sæt flueben ved "Internetdeling"-feltet. Hvis et bekræftelsesvindue dukker op, skal du vælge "Start".
  4. Adgang fra iPhone: Åbn din iPhones webbrowser og gå til http://ditnavn.local. Du skulle nu se indholdet af din MAMP-mappe, herunder dine lokale sites.

Test af WordPress-sider

Hvis du arbejder med lokale WordPress-installationer, kræver det et ekstra trin ud over MAMP-opsætningen, da WordPress gemmer sin egen URL.

  1. Følg MAMP-trinene ovenfor for at få din Mac's hostnavn til at virke.
  2. Gå til dit WordPress-dashboard (f.eks. http://localhost/mitwebsted/wp-admin).
  3. Naviger til Indstillinger > Generelt.
  4. Ændr "WordPress-adresse (URL)" og "Webstedsadresse (URL)" til dit nye hostnavn. Hvis din lokale WordPress-installation f.eks. er på http://localhost/mitwebsted, skal du ændre begge URL'er til http://ditnavn.local/mitwebsted.
  5. Gem ændringerne.
  6. Nu kan du besøge http://ditnavn.local/mitwebsted på din iPhone, og din WordPress-side skulle blive vist korrekt.

Med Jekyll

Jekyll, en statisk site-generator, udstiller ikke som standard sitet på det lokale netværk af sikkerhedsmæssige årsager. Du kan dog tvinge den til at gøre det ved at bruge --host-flaget.

Når du starter din Jekyll-server, skal du bruge kommandoen:

bundle exec jekyll serve --host 0.0.0.0

Hvis du får en prompt om "do you accept incoming network connections", skal du vælge "Tillad". Nu kan du indtaste dit lokale Mac-hostnavn i din iPhones webbrowser og tilføje Jekylls standardport (som er :4000) efter URL'en. For eksempel: http://ditnavn.local:4000.

IP Friend til macOS (Nemmere IP-deling)

For Mac-brugere findes der et praktisk, gratis værktøj kaldet IP Friend, der kan forenkle processen med at finde og kopiere din IP-adresse, så den er klar til at blive indsat på din iPhone.

  1. Download "IP Friend" fra Mac App Store.
  2. Åbn appen.
  3. Klik på "IP"-ikonet i din menulinje for at kopiere din IP-adresse.
  4. Hvis du har din localhost-adresse (f.eks. http://localhost:3000) i din udklipsholder, kan du holde Option ⌥ nede, mens IP-menuen er åben, for automatisk at erstatte "localhost"-delen med din IP-adresse. Dette omdanner f.eks. http://localhost:3000 til noget lignende http://192.168.0.1:3000.
  5. Takket være iCloud Clipboard deler macOS og iOS udklipsholder, så du kan nu simpelthen indsætte den kopierede adresse direkte i Safaris adressefelt på din iPhone. Husk at tilføje http:// og portnummeret, hvis det ikke allerede er med.

Dette værktøj strømliner processen betydeligt for Mac-brugere og minimerer risikoen for tastefejl.

Fejlfinding og almindelige problemer

Selvom processen generelt er ligetil, kan der opstå visse problemer. Her er nogle af de mest almindelige scenarier og løsninger:

Firewall-blokeringer

En af de mest almindelige årsager til, at du ikke kan få adgang til din lokale server fra din iPhone, er din computers firewall. Firewallen er designet til at beskytte din computer mod uønskede indgående forbindelser, og den kan blokere adgangen til din udviklingsserver fra andre enheder på dit netværk.

Can I run a website on a mobile phone?
If you're doing any kind of web development work these days, you probably need your website or app to run on mobile phones. By default, your iPhone or iPad won't be able to access an app that's running on localhost on your desktop (unless you're running the simulator).

Løsning på Mac:

Hvis du bruger MAMP eller en anden server og oplever problemer, selvom alt andet er sat korrekt op, kan det være din Macs firewall.

  1. Gå til Systemindstillinger > Sikkerhed & Anonymitet.
  2. Vælg fanen "Firewall".
  3. Klik på låseikonet for at låse op for ændringer (du skal muligvis indtaste din adgangskode).
  4. Klik på "Firewall-indstillinger..."-knappen.
  5. Klik på "+"-knappen for at tilføje en applikation. Find og tilføj din serverapplikation (f.eks. MAMP, eller den specifikke kørbare fil for din Node.js-server).
  6. Sørg for, at applikationen er indstillet til "Tillad indgående forbindelser".
  7. Gentag processen for alle relevante udviklingsværktøjer, der kører en server.

Løsning på Windows:

På Windows skal du sikre dig, at din firewall tillader indgående forbindelser til den port, din server kører på, eller til selve serverapplikationen.

  1. Søg efter "Windows Defender Firewall med avanceret sikkerhed" i Startmenuen.
  2. Vælg "Indgående regler" i venstre panel.
  3. Klik på "Ny regel..." i højre panel.
  4. Vælg "Port" og klik "Næste".
  5. Vælg "TCP" og indtast det specifikke portnummer (f.eks. 3000) under "Specifikke lokale porte". Klik "Næste".
  6. Vælg "Tillad forbindelsen" og klik "Næste".
  7. Vælg de profiler, reglen skal gælde for (f.eks. "Privat" og "Offentlig" afhængigt af dit netværk). Klik "Næste".
  8. Giv reglen et navn (f.eks. "Min Webserver Port 3000") og klik "Udfør".

CORS (Cross-Origin Resource Sharing) og Host Check

Nogle udviklingsservere eller frameworks kan have sikkerhedsrestriktioner, der forhindrer adgang fra forskellige domæner eller IP-adresser (kendt som CORS-politikker eller "host check"-begrænsninger).

  • CORS: Hvis din webapplikation foretager API-kald til en backend, der kører på en anden port eller IP-adresse, kan du støde på CORS-fejl. Dette løses typisk ved at konfigurere din backend til at tillade anmodninger fra din udviklingsserverens URL (eller * for alle, men kun til udviklingsbrug!).
  • Host Check: Nogle frameworks, som f.eks. Webpack Dev Server, kan have en "host check"-mekanisme, der kun tillader adgang fra specifikke hostnavne. Du skal muligvis deaktivere eller konfigurere denne kontrol til at tillade din IP-adresse eller 0.0.0.0. Tjek dokumentationen for dit specifikke framework.

Vigtige overvejelser og sikkerhed

Når du udsætter din udviklingsserver for dit lokale netværk, er der et par vigtige ting at huske på:

  • Sikkerhed: Denne metode udsætter din udviklingsserver for alle enheder på dit lokale netværk. Sørg for, at du ikke eksponerer følsomme data eller operationer, som ikke er beregnet til at være offentligt tilgængelige. Dette er kun til udviklings- og testformål på et betroet netværk.
  • Ydeevne: Afhængigt af dit netværk og din computers specifikationer kan ydeevnen variere. Større applikationer med mange aktiver kan tage længere tid at indlæse over Wi-Fi.
  • Strømforbrug: At have din udviklingsmaskine kørende og dele dens forbindelse kan forbruge mere strøm på din computer.

Ofte Stillede Spørgsmål (FAQ)

Hvorfor kan jeg ikke bare skrive "localhost" på min iPhone?

"Localhost" (eller 127.0.0.1) er en speciel adresse, der altid refererer til den enhed, den bruges på. Når du skriver "localhost" på din iPhone, leder den efter en server, der kører på iPhonen selv, ikke på din computer. Derfor skal du bruge din computers specifikke lokale IP-adresse for at forbinde.

Min iPhone kan ikke finde serveren, selvom IP-adressen er korrekt. Hvad nu?

Kontroller følgende:

  • Er din computer og iPhone på det samme Wi-Fi-netværk?
  • Kører din udviklingsserver og er den konfigureret til at lytte på 0.0.0.0 (eller din specifikke IP-adresse)?
  • Er din computers firewall slået fra eller konfigureret til at tillade indgående forbindelser til den port, din server bruger?
  • Er portnummeret korrekt indtastet i URL'en (f.eks. :3000)?
  • Er der nogen CORS- eller host check-begrænsninger i dit framework, der skal justeres?

Skal jeg bruge en bestemt browser på min iPhone?

Nej, du kan bruge enhver webbrowser på din iPhone, f.eks. Safari, Chrome, Firefox osv. De fungerer alle på samme måde, når det kommer til at indtaste en IP-adresse og et portnummer.

Er det sikkert at udsætte min udviklingsserver på denne måde?

Ja, så længe du kun gør det på dit eget, betroede lokale netværk. Undgå at gøre dette på offentlige Wi-Fi-netværk, da det ville udsætte din udviklingsserver for potentielt ondsindede brugere. Det er vigtigt at huske, at dette er en midlertidig løsning til test, ikke en produktionsopsætning.

Kan jeg bruge et domænenavn i stedet for en IP-adresse på min iPhone?

Ja, det kan du. Hvis du har konfigureret et lokalt hostnavn (f.eks. ditnavn.local som med MAMP), og din router eller DNS-opsætning på din computer understøtter det, kan din iPhone muligvis genkende dette navn. Dette er ofte mere bekvemt end at huske en IP-adresse. Værktøjer som Bonjour (som .local-domæner bruger) hjælper med dette.

At kunne teste dine webapplikationer direkte på en iPhone er en uvurderlig del af moderne webudvikling. Ved at følge denne guide kan du nemt overkomme de tekniske barrierer og sikre, at dine projekter leverer en optimal oplevelse på iOS-enheder. Husk altid at være opmærksom på netværkssikkerhed, især når du åbner op for indgående forbindelser. God fornøjelse med testningen!

Hvis du vil læse andre artikler, der ligner Test af Webapps på iPhone: Adgang til Lokalhost, kan du besøge kategorien Teknologi.

Go up