Vytvoření aplikace OpenGL ES na Androidu a iOSu

můžete vytvářet Visual Studio řešení a projekty pro aplikace pro iOS a aplikace pro Android, které sdílejí společný kód. Tento článek vás provede kombinovanou šablonou řešení. Vytvoří aplikaci pro iOS a nativní aplikaci aktivity pro Android. Aplikace mají společný kód C++, který používá OpenGL ES k zobrazení stejné animované rotující krychle na každé platformě. OpenGL ES (OpenGL pro vložené systémy nebo GLES) je 2D a 3D grafické rozhraní API. Podporuje se na mnoha mobilních zařízeních.

Požadavky

Splnění všech systémových požadavků a vytvoření aplikace OpenGL ES pro iOS a Android pokud jste to ještě neudělali, nainstalujte do Instalační program pro Visual Studio úlohy pro vývoj mobilních aplikací pomocí C++. Chcete-li získat šablony OpenGL ES a sestavit pro iOS, zahrňte volitelné vývojové nástroje C++ pro iOS. Pro sestavení pro Android Nainstalujte vývojové nástroje C++ pro Android a požadované nástroje třetích stran: Android NDK, Apache Ant a Google Android Emulator.

Pro lepší výkon emulátoru platforem Intel je jednou z možností instalace rozhraní Intel Hardware Accelerated Execution Manager (modul HAXM). Podrobné pokyny najdete v tématu instalace vývoje mobilních aplikací pro různé platformy pomocí C++.

K sestavení a otestování aplikace pro iOS budete potřebovat počítač Mac. Nastavte ji podle pokynů k instalaci. Další informace o tom, jak nastavit pro vývoj pro iOS, najdete v tématu instalace a konfigurace nástrojů pro sestavení pomocí iOS.

Vytvoření nového projektu aplikace OpenGL

V tomto kurzu nejprve vytvoříte nový projekt aplikace OpenGL ES. a potom v emulátoru Androidu Sestavte a spusťte výchozí aplikaci. V dalším kroku sestavíte aplikaci pro iOS a spustíte ji na zařízení s iOS.

  1. v Visual Studio vyberte soubornovýProject.

  2. v dialogovém okně nový Project v části šablonyzvolte Visual C++ pro různé platformya pak zvolte šablonu aplikace opengl (Android, iOS) .

  3. Dejte aplikaci název jako MyOpenGLESAppa pak zvolte OK.

    snímek obrazovky s dialogovým oknem nový Project, kde je vybrána šablona projektu opengls (aplikace opengl), s MyOpenGLESApp v textovém poli název

    Visual Studio vytvoří nové řešení a otevře Průzkumník řešení.

    Snímek obrazovky MyOpenGLESApp v Průzkumník řešení.

  1. v Visual Studio vyberte soubornovýProject.

  2. V dialogovém okně vytvořit nový projekt vyberte šablonu aplikace OpenGL (Android, iOS) a pak klikněte na tlačítko Další.

  3. v dialogovém okně konfigurovat nový projekt zadejte název jako MyOpenGLESApp do pole Project názeva klikněte na tlačítko vytvořit.

    Visual Studio vytvoří nové řešení a otevře Průzkumník řešení.

    Snímek obrazovky MyOpenGLESApp v Průzkumník řešení.

Nové řešení aplikace OpenGL ES zahrnuje tři projekty knihovny a dva aplikační projekty. Složka knihovny obsahuje projekt se sdíleným kódem. A dva projekty specifické pro platformu, které odkazují na sdílený kód:

  • MyOpenGLESApp.Android.NativeActivity obsahuje odkazy a připevnění kódu, který implementuje vaši aplikaci jako nativní aktivitu v Androidu. Vstupní body z kódu připevňování jsou implementovány v Main. cpp, který obsahuje společný sdílený kód v . Předkompilované hlavičky jsou v souboru PCH. h. Tento projekt nativní aplikace aktivity je zkompilován do sdíleného souboru knihovny (. so), který je vybrán v rámci projektu.

  • MyOpenGLESApp.iOS.StaticLibrary Vytvoří soubor statické knihovny pro iOS (MyOpenGLESApp.iOS.StaticLibrary), který obsahuje sdílený kód v MyOpenGLESApp.Shared . Je propojena s aplikací vytvořenou MyOpenGLESApp.iOS.Application projektem.

  • MyOpenGLESApp.Shared obsahuje sdílený kód, který funguje na různých platformách. Používá makra preprocesoru pro podmíněnou kompilaci kódu specifického pro platformu. Sdílený kód je vyzvednut odkazem na projekt v MyOpenGLESApp.Android.NativeActivity a MyOpenGLESApp.iOS.StaticLibrary .

Řešení obsahuje dva projekty pro sestavování aplikací pro platformy Android a iOS:

  • MyOpenGLESApp.Android.Packaging Vytvoří soubor MyOpenGLESApp.Android.Packaging pro nasazení na zařízení nebo emulátoru Androidu. Tento soubor obsahuje prostředky a AndroidManifest.xml soubor, ve kterém jste nastavili vlastnosti manifestu. Obsahuje také soubor build.xml , který řídí proces sestavení ANT. Ve výchozím nastavení je nastaven jako spouštěný projekt, aby jej bylo možné nasadit a spustit přímo z Visual Studio.

  • MyOpenGLESApp.iOS.Application obsahuje kód prostředky a cíl-C připevnit k vytvoření aplikace pro iOS, která odkazuje na kód statické knihovny C++ v MyOpenGLESApp.iOS.StaticLibrary . tento projekt vytvoří balíček sestavení, který se přenese do vašeho počítače Mac pomocí Visual Studio a vzdáleného agenta. při sestavování tohoto projektu Visual Studio odesílá soubory a příkazy pro sestavení a nasazení vaší aplikace na macu.

Sestavení a spuštění aplikace pro Android

Řešení vytvořené šablonou nastaví aplikaci pro Android jako výchozí projekt. Tuto aplikaci můžete sestavit a spustit, abyste ověřili instalaci a instalaci. Pro počáteční test spusťte aplikaci na jednom z profilů zařízení nainstalovaných emulátorem pro Android. Pokud dáváte přednost testování aplikace na jiném cíli, můžete načíst cílový emulátor. Nebo připojte zařízení k počítači.

Sestavení a spuštění aplikace nativní aktivity v Androidu

  1. Pokud ještě není vybraná, vyberte v rozevíracím seznamu platformy řešení možnost x86 .

    Snímek obrazovky s rozevíracím seznamem platformy řešení s zvýrazněným x86

    K zacílení emulátoru použijte platformu x86. Chcete-li cílit na zařízení, vyberte platformu řešení na základě procesoru zařízení. Pokud se seznam platformy řešení nezobrazuje, zvolte možnost platformy řešení v seznamu Přidat nebo odebrat tlačítka a zvolte svou platformu.

  2. V Průzkumník řešeníotevřete místní nabídku pro projekt a pak zvolte možnost sestavit.

    snímek obrazovky okna Průzkumník řešení s místní nabídkou pro balení pro Android Project zobrazení příkazu Build

    V okně výstup se zobrazí výstup procesu sestavení pro sdílenou knihovnu Androidu a aplikaci pro Android.

    Snímek obrazovky s výstupem sestavení pro projekty pro Android

  3. Jako cíl nasazení vyberte jeden ze emulovaných profilů zařízení s Androidem.

    Vyberte cíl nasazení.

    Je možné, že máte nainstalované další emulátory nebo zařízení s Androidem. Můžete je vybrat v rozevíracím seznamu cíl nasazení. Aby bylo možné aplikaci spustit, musí být sestavená platforma řešení shodná s platformou cílového zařízení.

  4. Stisknutím klávesy F5 spusťte ladění, nebo stisknutím klávesyF5 spusťte bez ladění.

    Visual Studio spustí emulátor, což trvá několik sekund, než se načte a nasadí váš kód. Tady je postup, jak se aplikace zobrazí v emulátoru:

    Snímek obrazovky aplikace spuštěné v Android Emulator

    Po spuštění aplikace můžete nastavit zarážky a použít ladicí program ke krokování kódu, kontrole místních hodnot a sledování hodnot.

  5. Pro zastavení ladění stiskněte SHIFTF5 .

    Emulátor je samostatný proces, který pokračuje v běhu. Kód můžete upravovat, kompilovat a nasazovat několikrát do stejného emulátoru. Vaše aplikace se zobrazí v kolekci aplikací na emulátoru a je možné ji spustit přímo.

    Vygenerovaná projekty aplikace a knihovny pro nativní Android vloží sdílený kód C++ do dynamické knihovny. Obsahuje kód "připevnit" rozhraní s platformou pro Android. Většina kódu aplikace je v knihovně. Pokyny k manifestu, prostředkům a sestavení jsou v projektu balení. Sdílený kód je volán z Main. cpp v projektu NativeActivity. Další informace o tom, jak programovat nativní aktivitu Androidu, najdete na stránce věnované konceptům pro vývojáře pro Android NDK.

    Visual Studio sestavuje projekty nativních aktivit androidu pomocí android NDK. Používá Clang jako sadu nástrojů platformy. Visual Studio mapuje vlastnosti projektu na příkazy kompilovat, propojit a ladit na cílové platformě. Pro podrobnosti otevřete dialogové okno stránky vlastností pro projekt MyOpenGLESApp. Android. NativeActivity. Další informace o přepínačích příkazového řádku naleznete v příručce uživatele kompilátoru Clang.

Sestavení a spuštění aplikace pro iOS na zařízení s iOS

Projekt aplikace pro iOS vytvoříte a upravíte v Visual Studio. Z důvodu licenčních omezení musí být sestavena a nasazena z počítače Mac. Visual Studio komunikuje se vzdáleným agentem spuštěným v počítači Mac pro přenos souborů projektu a provádění příkazů sestavení, nasazení a ladění. nastavte a nakonfigurujte Mac a Visual Studio pro komunikaci, abyste mohli sestavit aplikaci pro iOS. Podrobné pokyny najdete v tématu instalace a konfigurace nástrojů pro sestavení pomocí iOS. Spusťte na počítači Mac vzdálený agent a pospárovat ho s Visual Studio. Pak můžete sestavit a spustit aplikaci pro iOS a ověřit instalaci a instalaci.

Pokud chcete nasadit aplikaci do zařízení s iOS, nejdřív nastavte automatické přihlašování v Xcode. Automatické podepisování vytvoří zřizovací profil pro podepsání sestavení aplikace.

Nastavení automatického podepisování v Xcode

  1. Pokud jste to ještě neudělali, nainstalujte Xcode na Mac.

  2. Otevřete aplikaci Xcode na Macu.

  3. Vytvoří nový projekt Xcode aplikace s jedním zobrazením . Vyplňte požadovaná pole během vytváření projektu. Hodnoty mohou být libovolné, protože projekt se používá pouze k vytvoření zřizovacího profilu, který je použit později k podepsání sestavení aplikace.

  4. Přidejte své Apple ID, které je zaregistrované v účtu Apple Developer program , do Xcode. Vaše Apple ID se používá jako podpisová identita k podepisování aplikací. Chcete-li přidat podpisovou identitu v Xcode, otevřete nabídku Xcode a vyberte možnost Předvolby. Vyberte účty a kliknutím na tlačítko Přidat (+) přidejte svoje Apple ID. Podrobné pokyny najdete v tématu Přidání vašeho účtu Apple ID.

  5. v nastavení "obecné" projektu Xcode změňte hodnotu identifikátoru sady prostředků na , kde <NameOfVSProject> je stejný název jako projekt Visual Studio řešení, který jste vytvořili. pokud jste například vytvořili projekt s názvem MyOpenGLESApp na Visual Studio, nastavte MyOpenGLESApp na com.MyOpenGLESApp .

    Snímek obrazovky s identifikátorem sady Xcode

  6. Pokud chcete povolit automatické podepisování, zaškrtněte. Automaticky spravovat podepisování * *.

    Snímek obrazovky s hodnotou automatického podepisování Xcode

  7. Vyberte název týmu Apple ID, které jste přidali jako vývojový tým.

    Snímek obrazovky s hodnotou týmu Xcode

Sestavení a spuštění aplikace pro iOS na zařízení s iOS

  1. spusťte na počítači Mac vzdálený agent a ověřte, jestli je Visual Studio spárována se vzdáleným agentem. Vzdálený agent spustíte tak, že otevřete okno aplikace Terminal a zadáte vcremote . Další informace najdete v tématu Konfigurace vzdáleného agenta v Visual Studio.

    Okno terminálu Mac se systémem vcremote.

  2. Připojte zařízení s iOS k počítači Mac. Když zařízení připojíte poprvé k počítači, zobrazí se výstraha, jestli počítač pro přístup k vašemu zařízení důvěřujete. Povolte zařízení, aby důvěřovalo počítači Mac.

  3. pokud na Visual Studio ještě není vybraná, vyberte platformu řešení z rozevíracího seznamu platformy řešení v závislosti na procesoru zařízení. V tomto příkladu je to ARM64 procesor.

    Snímek obrazovky s nastavením platformy pro řešení na ARM64

  4. v Průzkumník řešení otevřete místní nabídku pro projekt MyOpenGLESApp. iOS. Application a výběrem možnosti uvolnit Project uvolněte projekt.

  5. Znovu otevřete místní nabídku pro projekt MyOpenGLESApp. iOS. Application a vyberte upravit projekt. pbxproj a upravte soubor projektu. V project.pbxproj souboru vyhledejte buildSettings atribut a přidejte DEVELOPMENT_TEAM ho pomocí Apple Team ID. Níže uvedený snímek obrazovky ukazuje příklad hodnoty 123456ABC pro ID týmu Apple. Hodnotu ID Apple Team můžete najít z Xcode. přejděte na Build Nastavení a najeďte myší na název vývojového týmu, abyste zobrazili popis. Popisek zobrazuje vaše ID týmu.

    Snímek obrazovky s nastavením vývojového týmu

  6. zavřete project.pbxproj soubor a pak otevřete místní nabídku pro nenačtený projekt MyOpenGLESApp. iOS. Application a zvolte možnost project.pbxproj pro opětovné načtení projektu.

  7. Nyní Sestavte projekt MyOpenGLESApp. iOS. Application tak, že otevřete místní nabídku pro projekt a zvolíte možnost sestavit.

    Pomocí místní nabídky Sestavte projekt aplikace pro iOS.

    V okně výstup se zobrazí výstup procesu sestavení. Zobrazuje výsledky pro statickou knihovnu iOS a aplikaci pro iOS. Na Macu se v okně terminálu, na kterém běží vzdálený agent, zobrazuje příkaz a aktivitu přenosu souborů.

    Na počítači Mac se může zobrazit výzva, abyste povolili kodesign pro přístup k řetězci klíčů. Pokračujte výběrem možnosti pokračovat.

  8. Vyberte zařízení s iOS na panelu nástrojů a spusťte aplikaci na svém zařízení připojeném k počítači Mac. Pokud se aplikace nespustí, ověřte, že zařízení uděluje oprávnění k tomu, aby se vaše nasazená aplikace spustila na zařízení. toto oprávnění můžete nastavit tak, že v zařízení nasadíte na Nastaveníobecnáspráva zařízení . Vyberte svůj účet aplikace pro vývojáře, důvěřovat účtu a ověřte aplikaci. Zkuste aplikaci spustit znovu z Visual Studio.

    Snímek obrazovky aplikace pro iOS na zařízení s iOS

    po spuštění vaší aplikace můžete nastavit zarážky a použít ladicí program Visual Studio pro kontrolu místních hodnot, viz zásobník volání a sledujte hodnoty.

    Snímek obrazovky ladicího programu na zarážce v aplikaci pro iOS

  9. Pro zastavení ladění stiskněte SHIFTF5 .

    Vygenerovaná projekty aplikace a knihovny pro iOS vloží kód jazyka C++ do statické knihovny, která implementuje pouze sdílený kód. Většina kódu aplikace je v Application projektu. Volání do kódu sdílené knihovny v tomto projektu šablony jsou vytvořena v souboru GameViewController. m . k sestavení aplikace pro iOS Visual Studio používá sadu nástrojů platformy Xcode, která vyžaduje komunikaci se vzdáleným klientem, který běží na macu.

    Visual Studio přenáší soubory projektu ke vzdálenému klientovi. Pak pošle příkazy k sestavení aplikace pomocí Xcode. Vzdálený klient odesílá informace o stavu sestavení zpět do Visual Studio. po úspěšném vytvoření aplikace Visual Studio můžou odeslat příkazy ke spuštění a ladění aplikace. ladicí program v Visual Studio řídí aplikaci spuštěnou na zařízení s iOS připojenou k vašemu počítači Mac. Visual Studio mapuje vlastnosti projektu na možnosti, které se používají ke kompilaci, propojení a ladění na cílové platformě iOS. Pro podrobnosti o možnosti příkazového řádku kompilátoru otevřete dialogové okno stránky vlastností pro projekt MyOpenGLESApp. iOS. StaticLibrary.

Přizpůsobení aplikací

Můžete upravit sdílený kód jazyka C++ a přidat nebo změnit běžné funkce. Změňte volání sdíleného kódu v MyOpenGLESApp.Android.NativeActivity projektech a, MyOpenGLESApp.iOS.Application aby odpovídala. Makra preprocesoru můžete použít k určení sekcí specifických pro platformu v rámci společného kódu. Makro preprocesoru __ANDROID__ je předdefinované při sestavování pro Android. Makro preprocesoru __APPLE__ je předdefinované při sestavení pro iOS.

Chcete-li zobrazit IntelliSense pro konkrétní platformu projektu, vyberte projekt v rozevíracím seznamu přepínač kontextu. Je v navigačním panelu v horní části okna editoru.

snímek obrazovky rozevíracího seznamu přepínačů kontextu Project v editoru

Problémy IntelliSense v kódu, které jsou používány aktuálním projektem, jsou označeny červenou vlnovkou. Fialová vlnovka označuje problém v jiných projektech. Visual Studio nepodporuje barevné zabarvení kódu nebo IntelliSense pro soubory Java nebo objektivní-C. Můžete ale přesto upravovat zdrojové soubory a prostředky. Použijte je k nastavení názvu, ikony a dalších podrobností implementace aplikace.