iOS kullanarak derlemeye yönelik araçları yükleme ve yapılandırma

iOS kodunu düzenlemek, hatalarını ayıklamak ve iOS simülatörüne veya bir iOS cihazına dağıtmak için C++ araçlarıyla platformlar arası Mobil geliştirme ile Visual Studio'yu kullanabilirsiniz. Ancak lisanslama kısıtlamaları nedeniyle kodun Mac'te uzaktan derlenip çalıştırılması gerekir. Visual Studio kullanarak iOS uygulamaları oluşturmak ve çalıştırmak için Mac bilgisayarınızda vcremote uzak aracısını ayarlamanız ve yapılandırmanız gerekir. vcremote uzak aracısı Visual Studio'dan gelen derleme isteklerini işler ve uygulamayı Mac'e bağlı bir iOS cihazında veya Mac'teki iOS Simülatörü'nde çalıştırır.

Not

Mac yerine bulutta barındırılan Mac hizmetlerini kullanma hakkında bilgi için bkz . Visual Studio'yu bulutta barındırılan Mac'inize bağlanacak şekilde yapılandırma. Yönergeler Apache Cordova için Visual Studio Araçları kullanarak derlemeye yönelik yönergelerdir. C++ kullanarak derleme yönergelerini kullanmak için remotebuildyerine vcremote yazın.

iOS kullanarak derleme araçlarını yükledikten sonra bu makaleye yeniden bakın. Visual Studio'da ve Mac'inizde iOS geliştirmesi için vcremote'yi hızlı bir şekilde yapılandırmanın ve güncelleştirmenin yollarını açıklar.

Önkoşullar

iOS için kod geliştirmek üzere vcremote uzak aracısını yüklemek ve kullanmak için öncelikle şu önkoşullara sahip olmanız gerekir:

  • macOS Mojave sürüm 10.14 veya üzerini çalıştıran bir Mac bilgisayar

  • Apple Kimliği

  • Etkin bir Apple Geliştirici Programı hesabı

    Uygulamaları yalnızca test etmek üzere iOS cihazına dışarıdan yüklemeye izin veren ancak dağıtım için olmayan ücretsiz bir hesap alabilirsiniz.

  • Xcode sürüm 10.2.1 veya üzeri

    Xcode, App Store'dan indirilebilir.

  • Xcode komut satırı araçları

    Xcode komut satırı araçlarını yüklemek için Mac bilgisayarınızda Terminal uygulamasını açın ve aşağıdaki komutu girin:

    xcode-select --install

  • Xcode'da uygulamaları imzalamak için imzalama kimliği olarak yapılandırılan apple kimliği hesabı

    Xcode'da imzalama kimliğinizi görmek veya ayarlamak için Xcode menüsünü açın ve Tercihler'i seçin. Hesaplar'ı seçin, Apple kimliğinizi seçin ve ardından Ayrıntıları Görüntüle düğmesini seçin. Ayrıntılı yönergeler için bkz . Apple Kimliği hesabınızı ekleme.

    İmzalama gereksinimleri hakkında ayrıntılı bilgi için bkz . Uygulama imzalama nedir?

  • Geliştirme için bir iOS cihazı kullanıyorsanız cihazınız için Xcode'da yapılandırılmış bir sağlama Profili

    Xcode, gerektiğinde sizin için imzalama sertifikaları oluşturduğu otomatik imzalama sağlar. Xcode otomatik imzalama hakkında ayrıntılı bilgi için bkz . otomatik imzalama.

    El ile imzalama yapmak istiyorsanız, uygulamanız için bir sağlama Profili oluşturmanız gerekir. Sağlama Profilleri oluşturma hakkında ayrıntılı bilgi için bkz . Geliştirme sağlama profili oluşturma.

  • Node.js sürüm 18.12.1 ve npm sürüm 8.19.2

    Mac bilgisayarınıza Node.js sürüm 18.12.1'i yükleyin. Node.js paketini yüklerseniz, npm sürüm 8.19.2 ile birlikte gelmelidir. Node.js ve npm'nin diğer sürümleri vcremote'de kullanılan bazı modülleri desteklemeyebilir ve bu da vcremote yüklemesinin başarısız olmasına neden olabilir. Node Version Manager gibi bir paket yöneticisi kullanarak Node.js yüklemenizi öneririz. Bazı modüller sudo kullanırken yüklenememesi nedeniyle Node.js yüklemek için komutunu sudo kullanmaktan kaçının.

iOS için vcremote yükleme

C++ iş yüküyle Mobil geliştirmeyi yüklediğinizde, Visual Studio dosyaları aktarmak, iOS uygulamanızı derleyip çalıştırmak ve hata ayıklama komutları göndermek için Mac bilgisayarınızda çalışan vcremote uzak aracısı ile iletişim kurabilir.

vcremote'yi yüklemeden önce Önkoşullar'ı karşıladığınızdan ve C++ ile platformlar arası mobil geliştirme yükleme konusundaki yükleme adımlarını tamamladığınızdan emin olun.

vcremote'yi indirmek ve yüklemek için

  • Mac bilgisayarınızdaki Terminal uygulamasından, şu anda kullanımda olan Node.js sürümünün gerekli 18.12.1 sürümü olduğunu doğrulayın. Sürümü doğrulamak için komutunu çalıştırın:

    node -v

    Doğru sürüm değilse, önkoşullardaki Node.js yükleme yönergelerini izlemeniz gerekebilir. Ardından Node.js yeniden başlatın.

  • Gerekli Node.js kullanımda olduğunu doğruladıktan sonra, bu Node.js sürümünün altına vcremote yüklemek için şu komutu çalıştırın:

    npm install -g --unsafe-perm vcremote

    Genel yükleme (-g) anahtarı önerilir, ancak gerekli değildir. Genel yükleme anahtarını kullanmıyorsanız vcremote, Terminal uygulamasındaki geçerli etkin yol altına yüklenir.

    Yükleme vcremote sırasında yüklenir ve Mac bilgisayarınızda geliştirici modu etkinleştirilir. Homebrew ve iki npm paketi vcremote-lib ve vcremote-utilsde yüklenir. Yükleme tamamlandığında, atlanan isteğe bağlı bağımlılıklarla ilgili uyarıları yoksaymak güvenlidir.

    Not

    Homebrew'u yüklemek için sudo (yönetici) erişiminiz olmalıdır. Sudo olmadan vcremote yüklemeniz gerekiyorsa, Homebrew'u bir usr/local konuma el ile yükleyebilir ve klasörünü yolunuza ekleyebilirsiniz bin . Daha fazla bilgi için Homebrew belgelerine bakın. Geliştirici modunu el ile etkinleştirmek için Terminal uygulamasına şu komutu girin: DevToolsSecurity -enable

Visual Studio'nun yeni bir sürümüne güncelleştirirseniz, vcremote'nin geçerli sürümüne de güncelleştirmeniz gerekir. vcremote'yi güncelleştirmek için uzak aracıyı indirme ve yükleme adımlarını yineleyin.

Başlangıç vcremote

Visual Studio'nun iOS kodunuzu derlemesi ve çalıştırması için vcremote uzak aracısının çalışıyor olması gerekir. Visual Studio iletişim kurabilmesi için önce vcremote ile eşleştirilmelidir. Varsayılan olarak, vcremote, istemci ve sunucu sertifikalarının Visual Studio ve Mac makineleri arasında aktarılmasını gerektiren güvenli bağlantı modunda çalışır.

Not

Vcremote sürüm 1.0.19 veya üzeri için en az Visual Studio 2022 sürüm 17.5.0 Önizleme 1 veya üzeri gerekir. Visual Studio 2022 sürüm 17.4 veya önceki bir sürümü kullanıyorsanız vcremote sürüm 1.0.17'yi yükleyin.

vcremote'yi başlatmak için

  • Mac bilgisayarınızdaki Terminal uygulamasında şunu girin:

    vcremote

    Bu komut, uzak aracıyı varsayılan derleme diziniyle ~/vcremotebaşlatır. Diğer yapılandırma seçenekleri için bkz . Mac'te vcremote'yi yapılandırma.

vcremote'yi ilk kez başlattığınızda ve her yeni sunucu sertifikası oluşturduğunuzda, Visual Studio'da bağlantıyı yapılandırmak için gerekli bilgiler sağlanır. Bilgiler ana bilgisayar adını ve bağlantı noktasını içerir. Visual Studio'da uzak aracıyı konak adını kullanarak yapılandırmayı planlıyorsanız, mac'e ulaşılabilir olduğunu doğrulamak için ana bilgisayar adını kullanarak Windows'tan ping gönderin. Aksi takdirde, bunun yerine IP adresini kullanmanız gerekebilir.

Uzak aracıyı güvenli olmayan modda kullanabilirsiniz. Güvenli olmayan modda, uzak aracı verileri şifrelemeyen basit bir HTTP bağlantısı kullanılarak Visual Studio ile eşleştirilebilir. Güvenli olmayan modu kendi riski altında kullanın. Bağlanmak için güvenli mod kullanmanızı öneririz:

Visual Studio 2022 sürüm 17.5 ve üzeri ile vcremote 1.0.19 ve üzeri:

vcremote 1.0.19 ve sonraki sürümlerinde vcremote, Visual Studio'ya yüklenmesi gereken bir server-cert.pem sertifika dosyasının yolunu bildirir.

Visual Studio 2022 sürüm 17.4 ve vcremote 1.0.17 ve önceki sürümleri:

Sürüm 1.0.17 ve vcremote'nin eski sürümleri, Visual Studio 2022 sürüm 17.4 aracılığıyla Visual Studio sürümleriyle güvenli iletişim için bir PIN oluşturur.

VC uzak başlatıldığında bildirilen ana bilgisayar adını, bağlantı noktasını ve PIN'i gösteren Mac Terminal penceresinin ekran görüntüsü.

Oluşturulan PIN bir kerelik kullanım içindir ve yalnızca sınırlı bir süre için geçerlidir. Süre dolmadan önce Visual Studio'yu uzak aracıyla eşleştirmezseniz yeni bir PIN oluşturmanız gerekir. Daha fazla bilgi için bkz . Yeni güvenlik PIN'i oluşturma.

Güvenli bağlantı modunu devre dışı bırakmak için

  • vcremote'de güvenli bağlantı modunu devre dışı bırakmak için Mac bilgisayarınızdaki Terminal uygulamasına şu komutu girin:

    vcremote --secure false

Güvenli bağlantı modunu etkinleştirmek için

  • Güvenli bağlantı modunu etkinleştirmek için şu komutu girin:

    vcremote --secure true

Uzak aracıyı başlattıktan sonra, durdurana kadar Visual Studio'dan kullanabilirsiniz.

Uzak aracıyı durdurmak için

  • vcremote'nin içinde çalıştığı Terminal penceresine Control+C girin.

Visual Studio'da vcremote'yi yapılandırma

Visual Studio'dan vcremote uzak aracısına bağlanmak için, Visual Studio seçeneklerinde uzak yapılandırmayı belirtmeniz gerekir. Visual Studio, Mac'inizi her kullandığınızda uzak aracıya bağlanmak için aynı bilgileri kullanır. Mac bilgisayarınızda yeni bir güvenlik sertifikası veya ana bilgisayar adı veya IP adresi değişiklikleri oluşturmadığınız sürece Visual Studio'yu uzak aracıyla yeniden eşleştirmeniz gerekmez.

Visual Studio 2022 sürüm 17.5 ve sonraki sürümlerden vcremote'yi yapılandırmak için

  1. Aracı Mac bilgisayarınızda zaten çalışmıyorsa Uzak aracıyı başlatma sayfasındaki adımları izleyin. Projenizi başarıyla eşleştirmek, bağlamak ve derlemek için Mac'inizin Visual Studio için vcremote çalıştırıyor olması gerekir.

  2. Mac bilgisayarınızda, Mac bilgisayarınızın ana bilgisayar adını veya IP adresini alın.

    Terminal penceresinde ifconfig komutunu kullanarak IP adresini alabilirsiniz. inet Etkin ağ arabirimi altında listelenen adresi kullanın.

  3. Visual Studio menü çubuğunda Araçlar>Seçenekleri'ni seçin.

  4. Seçenekler iletişim kutusunda Platformlar>Arası C++>iOS'ı genişletin.

  5. Konak Adı ve Bağlantı Noktası alanlarına, aracıyı başlatırken uzak aracı tarafından belirtilen değerleri girin. Ana bilgisayar adı, Mac'inizin DNS adı veya IP adresi olabilir. Varsayılan bağlantı noktası 3030'dur.

    Not

    Mac'e ana bilgisayar adını kullanarak ping atamıyorsanız IP adresini kullanmanız gerekebilir.

  6. Uzak aracıyı varsayılan güvenli bağlantı modunda kullanıyorsanız Güvenli onay kutusunu işaretleyin ve dosyayı karşıya yüklemek üzere Mac'ten Visual Studio'ya aktarınserver-cert.pem. Ardından Oluştur düğmesini seçerek masaüstünde görünmesi gereken yeni client-cert.pem bir dosya oluşturun. Ardından, altında istemci sertifikasını Mac'e /vcremote/certs/Authorized-Clientsaktarın. (Birden çok istemci sertifika dosyasını bu dizine aktarabilirsiniz, böylece birden çok yetkili Visual Studio makinesi bu Mac'e istek gönderebilir.)

    Not

    Sertifikaları aktarmak için bir USB sürücüsü kullanıyorsanız, aktarım tamamlandıktan sonra sertifikaları USB sürücüsünden silin.

  7. Eşleştirmeyi etkinleştirmek için Eşleştir'i seçin.

    iOS eşleştirme için Araçlar Seçenekleri iletişim kutusunun ekran görüntüsü. Konak adı, bağlantı noktası, Güvenli onay kutusu ve Uzak Kök değerleri ayarlanır.

    Ana bilgisayar adını, bağlantı noktasını değiştirene veya yeni bir sunucu ya da istemci sertifikası oluşturana kadar eşleştirme devam eder. Seçenekler iletişim kutusunda ana bilgisayar adını veya bağlantı noktasını değiştirirseniz, geri al düğmesini seçerek değişikliği geri alabilir ve önceki eşleştirmeye dönebilirsiniz.

    Eşleştirme başarılı olmazsa, Uzak aracıyı başlatma'daki adımları izleyerek uzak aracının çalıştığını doğrulayın. Yeni sunucu sertifikası oluşturma ve Yeni istemci sertifikası oluşturma adımlarını izleyin. Mac bilgisayarınızın ana bilgisayar adını kullanıyorsanız, bunun yerine Ana Bilgisayar Adı alanındaki IP adresini kullanmayı deneyin.

  8. Mac'teki giriş (~) dizininizdeki uzak aracı tarafından kullanılan klasörü belirtmek için Uzak Kök alanındaki klasör adını güncelleştirin. Varsayılan olarak, uzak aracı uzak kök olarak kullanır /Users/<username>/vcremote .

  9. Uzaktan eşleştirme bağlantısı ayarlarını kaydetmek için Tamam'ı seçin.

Visual Studio 2022 sürüm 17.5'ten önceki sürümlerden vcremote'yi yapılandırmak için

  1. Aracı Mac bilgisayarınızda zaten çalışmıyorsa Uzak aracıyı başlatma sayfasındaki adımları izleyin. Projenizi başarıyla eşleştirmek, bağlamak ve derlemek için Mac'inizin Visual Studio için vcremote çalıştırıyor olması gerekir.

  2. Mac bilgisayarınızda, Mac bilgisayarınızın ana bilgisayar adını veya IP adresini alın.

    Terminal penceresinde ifconfig komutunu kullanarak IP adresini alabilirsiniz. inet Etkin ağ arabirimi altında listelenen adresi kullanın.

  3. Visual Studio menü çubuğunda Araçlar>Seçenekleri'ni seçin.

  4. Seçenekler iletişim kutusunda Platformlar>Arası C++>iOS'ı genişletin.

  5. Konak Adı ve Bağlantı Noktası alanlarına, aracıyı başlatırken uzak aracı tarafından belirtilen değerleri girin. Ana bilgisayar adı, Mac'inizin DNS adı veya IP adresi olabilir. Varsayılan bağlantı noktası 3030'dur.

    Not

    Ana bilgisayar adını kullanarak Mac'e ping atamıyorsanız IP adresini kullanmanız gerekebilir.

  6. Uzak aracıyı varsayılan güvenli bağlantı modunda kullanıyorsanız Güvenli onay kutusunu işaretleyin, ardından Sabitle alanına uzak aracı tarafından belirtilen PIN değerini girin. Uzak aracıyı güvenli olmayan bağlantı modunda kullanıyorsanız Güvenli onay kutusunu temizleyin ve Sabitle alanını boş bırakın.

  7. Eşleştirmeyi etkinleştirmek için Eşleştir'i seçin.

    iOS eşleştirme için Araçlar Seçenekleri iletişim kutusunun ekran görüntüsü. Konak adı, bağlantı noktası, Güvenli onay kutusu, raptiye ve Uzak Kök değerleri ayarlanır.

    Ana bilgisayar adını veya bağlantı noktasını değiştirene kadar eşleştirme devam eder. Seçenekler iletişim kutusunda konak adını veya bağlantı noktasını değiştirirseniz, değişikliği geri almak için Önceki eşleştirmeye dönmek için Geri Döndür düğmesini seçin.

    Eşleştirme başarılı olmazsa, Uzak aracıyı başlatma'daki adımları izleyerek uzak aracının çalıştığını doğrulayın. Uzak aracı PIN'i oluşturulduktan sonra çok fazla zaman geçtiyse Yeni güvenlik PIN'i oluşturma bölümünde yer alan adımları izleyin. Ardından yeniden deneyin. Mac bilgisayarınızın ana bilgisayar adını kullanıyorsanız, bunun yerine Ana Bilgisayar Adı alanındaki IP adresini kullanmayı deneyin.

  8. Mac'teki giriş (~) dizininizdeki uzak aracı tarafından kullanılan klasörü belirtmek için Uzak Kök alanındaki klasör adını güncelleştirin. Varsayılan olarak, uzak aracı uzak kök olarak kullanır /Users/<username>/vcremote .

  9. Uzaktan eşleştirme bağlantısı ayarlarını kaydetmek için Tamam'ı seçin.

Yeni bir güvenlik PIN'i oluşturma

Şunlar için geçerlidir: vcremote sürüm 1.0.17 ve önceki sürümleri kullanan Visual Studio 2022 sürüm 17.4 ve önceki sürümleri.

Uzak aracıyı ilk kez başlattığınızda, oluşturulan PIN sınırlı bir süre boyunca (varsayılan olarak 10 dakika) geçerlidir. Süre dolmadan önce Visual Studio'yu uzak aracıyla eşleştirmezseniz yeni bir PIN oluşturmanız gerekir.

Yeni bir PIN oluşturmak için

  1. Aracıyı durdurun veya Mac bilgisayarınızda ikinci bir Terminal uygulaması penceresi açın ve komutunu girmek için bunu kullanın.

  2. Terminal uygulamasına şu komutu girin:

    vcremote generateClientCert

    Uzak aracı yeni bir geçici PIN oluşturur. Yeni PIN'i kullanarak Visual Studio'yu eşleştirmek için, Visual Studio'da uzak aracıyı yapılandırma bölümünde yer alan adımları yineleyin.

Yeni bir istemci sertifikası oluşturma

Şunlar için geçerlidir: vcremote sürüm 1.0.19 ve üzerini kullanan Visual Studio 2022 sürüm 17.5 ve üzeri sürümler.

Visual Studio'da eşleştirdiğinizde yeni client-cert.pem bir dosya oluşturacaksınız. Sertifika dosyasını altındaki /vcremote/certs/Authorized-ClientsMac derleme makinesine aktarın. Bu sertifika, Mac'in Visual Studio makinenizden gelen istekleri yetkilendirmesine olanak tanır.

Yeni bir sunucu sertifikası oluşturma

Şunlar için geçerlidir: vcremote sürüm 1.0.19 ve üzerini kullanan Visual Studio 2022 sürüm 17.5 ve üzeri sürümler.

Güvenlik amacıyla, Visual Studio'yu uzak aracıyla eşleştiren sunucu sertifikaları Mac'inizin IP adresine veya ana bilgisayar adına bağlıdır. Bu değerler değişirse, yeni bir sunucu sertifikası oluşturmanız ve ardından Visual Studio'yu yeni değerlerle yeniden yapılandırmanız gerekir.

Yeni bir sunucu sertifikası oluşturmak için

  1. Aracıyı vcremote durdurun.

  2. Terminal uygulamasına şu komutu girin:

    vcremote resetServerCert

  3. Onay istendiğinde girin Y.

  4. Visual Studio'yu Mac ile eşleştirmek için, yeni oluşturulan server-cert.pem dosyayı Mac'ten aktarın ve Visual Studio'ya yükleyin ve Visual Studio'da uzak aracıyı yapılandırma bölümündeki adımları yineleyin.

Mac'te vcremote'yi yapılandırma

Uzak aracıyı çeşitli komut satırı seçeneklerini kullanarak yapılandırabilirsiniz. Örneğin, derleme isteklerini dinlemek için bağlantı noktasını belirtebilir ve dosya sisteminde tutulacak en fazla derleme sayısını belirtebilirsiniz. Varsayılan olarak sınır 10 derlemedir. Uzak aracı, kapatmada maksimum değeri aşan derlemeleri kaldırır.

Uzak aracıyı yapılandırmak için

  • Uzak aracı komutlarının tam listesini görmek için Terminal uygulamasında şunu girin:

    vcremote --help

  • Güvenli modu devre dışı bırakmak ve basit HTTP tabanlı bağlantıları etkinleştirmek için şunu girin:

    vcremote --secure false

    Bu seçeneği kullandığınızda Güvenli onay kutusunu temizleyin.

  • Uzak aracı dosyaları için bir konum belirtmek için şunu girin:

    vcremote --serverDir directory_path

    günlük dosyalarını, derlemeleri ve sunucu sertifikalarını yerleştirmek için yerine directory_path Mac bilgisayarınızdaki konumu yazın. Varsayılan olarak, bu konum şeklindedir /Users/<username>/vcremote. Derlemeler bu konumdaki derleme numarasına göre düzenlenir.

  • adlı server.logdosyayı yakalamak stdout ve stderr dosyaya almak üzere bir arka plan işlemi kullanmak için şunu girin:

    vcremote > server.log 2>&1 &

    Dosya derleme server.log sorunlarını gidermeye yardımcı olabilir.

  • Aracıyı komut satırı parametreleri yerine bir yapılandırma dosyası kullanarak çalıştırmak için şunu girin:

    vcremote --config config_file_path

    değerini JSON biçiminde bir yapılandırma dosyasının yoluyla değiştirin config_file_path . Başlangıç seçenekleri ve değerleri tire içermemelidir.

Uzak aracı sorunlarını giderme

iOS cihazında hata ayıklama

Bir iOS cihazında hata ayıklama işe yaramazsa, bir iOS cihazıyla iletişim kurmak için kullanılan araçla ideviceinstaller ilgili sorunlar olabilir. Bu araç genellikle yüklemesi vcremotesırasında Homebrew'dan yüklenir. Geçici çözüm olarak sonraki adımları izleyin:

Aşağıdaki komutları sırayla çalıştırarak Terminal uygulamasını açın ve güncelleştirin ideviceinstaller ve bağımlılıklarını güncelleştirin:

  1. Homebrew'un güncelleştirildiğinden emin olun

    brew update

  2. kaldırma libimobiledevice ve usbmuxd

    brew uninstall --ignore-dependencies libimobiledevice

    brew uninstall --ignore-dependencies usbmuxd

  3. ve uygulamasının en son sürümünü libimobiledevice yükleyin usbmuxd

    brew install --HEAD usbmuxd

    brew unlink usbmuxd

    brew link usbmuxd

    brew install --HEAD libimobiledevice

  4. Kaldırma ve yeniden yükleme ideviceinstaller

    brew uninstall ideviceinstaller

    brew install ideviceinstaller

ideviceinstaller Cihazda yüklü uygulamaları listelemeye çalışarak cihazla iletişim kurabildiğini doğrulayın:

ideviceinstaller -l

klasörüne /var/db/lockdownerişemediğini belirten bir hata bildirirseideviceinstaller, şu komutu kullanarak klasördeki ayrıcalığı değiştirin:

sudo chmod 777 /var/db/lockdown

Ardından cihazla iletişim kurabildiğini yeniden ideviceinstaller doğrulayın.

Ayrıca bkz.