Bumalik sa blog

Pagpapatakbo ng mga iOS app sa PC at Mac: ano ang tunay na gumagana

Sa Windows ay walang lehitimong iOS emulator para sa karaniwang consumer. Paghahambing ng tatlong ruta - tunay na iOS device sa cloud, direktang pag-install sa Mac na may Apple chip, at simulator na kasama ng Xcode - kasama ang pagpili ayon sa gamit.

Kung nais mong patakbuhin ang mga iOS app sa computer, kailangan mo munang tanggapin ang isang premisa: sa Windows ay walang lehitimong iOS emulator para sa karaniwang consumer. Ang mga tool tulad ng BlueStacks ay nag-eemulate ng Android, na ibang-iba at hiwalay na sistema mula sa iOS. Ang mga iOS app ay para sa ARM chips at sa signing mechanism ng Apple, at walang system image na legal na maipapamahagi at direktang tatakbo sa Windows.

Tatlo lang talaga ang praktikal na ruta, at malaki ang pagkakaiba ng gamit at limitasyon ng bawat isa.

Ruta 1: tunay na iOS device sa cloud

Sa mga cloud testing platform, tunay na iPhone o iPad ang tumatakbo. Kinokontrol mo ang mga ito sa browser: ang pag-install ng test build at ang pag-tap para mag-verify ay nangyayari nang malayuan. Ganito gumagana ang mga serbisyong tulad ng BrowserStack, Sauce Labs at AWS Device Farm, at may mga platform para sa security research na nag-aalok ng mas mababang antas ng access.

Ang bentahe ay malapit ito sa tunay na device: tunay ang kakayahan ng hardware at mga bersyon ng system, kaya mainam ito para ulitin ang mga problema sa production at i-verify ang compatibility. Kasing linaw din ang mga limitasyon: singil batay sa paggamit, ang session ay pinagsasaluhang resource na sinisira pagkatapos, may latency sa network ang bawat operasyon, at hindi ito bagay sa iiwan na tumatakbo nang matagal. Bukod dito, ang mga device sa cloud ay makina ng ibang tao, kaya ang test data, login credentials at screenshot ay nasa remote - huwag mag-upload ng sensitibong nilalaman.

Ruta 2: Mac na may Apple chip

Ang mga Mac na may M-series chip ay makakapag-install ng iPhone at iPad app nang direkta mula sa App Store, basta hindi pinatay ng developer ang opsyong ito. Ito ang pinakamadaling paraan ngayon para gumamit ng iOS app sa computer: kapag na-install na, isa lang itong window, at ang performance ay halos kapareho ng native.

Dalawang limitasyon: ang sinusuportahan lang ay Mac na may Apple chip, hindi kasama ang mga Intel model; at ang posibilidad na makapag-install ay depende sa switch ng developer, dahil maraming app ang kusang tumanggi nang ilabas sa macOS. May agwat din sa karanasan pagkatapos i-install: ang mga iOS app ay dinisenyo para sa paghawak ng daliri, kaya ang mouse at keyboard ay nagiging kakaiba sa ilang interaksyon, at ang pag-ikot ng screen at mga function na umaasa sa gyroscope ay hindi laging maayos.

Ruta 3: simulator na kasama ng development tools

Ang iOS Simulator na kasamang naka-install sa Xcode ay tumatakbo sa macOS at itinakda bilang tool para sa development at debugging: kailangan mo ng source code o ng build na package, at ginagaya nito ang iOS runtime, hindi tunay na device. Ang camera, sensor, push notification at iba pang bahaging mahigpit na nauugnay sa hardware ay hindi ganap na nagagawa. Kung nais mong mag-install ng app mula sa store, hindi ito dumadaan sa rutang ito, dahil hindi ito dinisenyo para sa ganitong gamit. Ang bentahe nito ay maaari kang magkaroon ng maraming bersyon ng iOS nang sabay at tingnan kung paano kumikilos ang isang pagbabago sa iba't ibang system, na mas kaunting abala kaysa sa paulit-ulit na pag-install sa tunay na device.

Saan talaga nagkakaiba ang tatlo

Paghahambing ng gamit at limitasyon ng tunay na iOS device sa cloud, Mac na may Apple chip at Xcode Simulator

Sa compatibility, ang mga device sa cloud ang pinakamalapit sa tunay na device, sumusunod ang native na pagpapatakbo sa Apple chip, at ang Simulator ang pinakamahina sa suporta sa mga kakayahang nauugnay sa hardware.

Sa performance, ang cloud ay nakadepende sa network, ang mga lokal na solusyon ay sa makina mismo, at ang native na pagpapatakbo sa Apple chip ang pinakamabisa.

Sa panganib sa account, may matigas na linya: huwag ilagay ang Apple ID at password sa isang hindi kilalang sinasabing iOS emulator, dahil karamihan sa mga tool na iyon ay hindi kayang magpatakbo ng iOS at ang layunin ng pahina ay mangolekta ng account. Huwag ding mag-login sa pangunahing account mo sa isang pinagsasaluhang cloud session, dahil ang pagbabahagi ng account ay lumalabag na sa terms of service ng Apple, at ang pagpapa-unlock ng naka-lock na account ay medyo mahirap. Para sa testing, gumamit ng test account na ginawa para sa layuning ito at itapon pagkatapos.

Sa compliance, hindi pinapayagan ng software license agreement ng Apple ang pagpapatakbo ng macOS at iOS sa hardware na hindi Apple. Anumang consumer product na nagsasabing nag-eemulate ng iOS sa Windows ay alinman sa Android wrapper o may ibang layunin.

Pumili ng ruta ayon sa gamit

Para sa development at debugging: gamitin ang Simulator ng Xcode sa lokal para sa pang-araw-araw na pagbabago, at dagdagan ng cloud device para sa mga bahaging may kinalaman sa pagkakaiba ng hardware at bersyon ng system.

Kung nais mo lang gamitin ang isang partikular na app sa computer: tingnan muna kung may web version o desktop client ang provider; kung wala, ang Mac na may Apple chip ang pinakapraktikal na opsyon, at sumusunod ang pag-upa ng device batay sa paggamit sa isang cloud platform. Ang paghahanap ng emulator para lang patakbuhin nang matagal ang isang iOS app ay kadalasang hindi sulit.

Sa gastos, maaari ring baliktarin ang pag-iisip: kung ilang beses lang sa isang taon ang pangangailangan, mas matipid ang cloud device na may singil batay sa paggamit at hindi ka na bibili ng makina para sa isang beses na pag-verify; kung araw-araw ang pangangailangan, mas malinaw na mas maganda ang karanasan at katatagan ng native na pag-install sa Mac.

May isa pang maliit na problema sa team: kapag maraming miyembro ang may kanya-kanyang test account at salit-salit na nag-login sa parehong makina, madaling mag-overwrite ang cookies at session, kaya may mga hindi maipaliwanag na pagka-logout. Ang pagbibigay sa bawat account ng sariling hiwalay na browser environment ay umiiwas sa ganitong pagharang, at iyon ang uri ng environment isolation na ibinibigay ng PurpleMark.