Как вы выполняете беспроводную отладку в Xcode 9 с iOS 11, Apple TV 4K и т. Д.?


347

Беспроводная отладка была недавно добавлена ​​как функция в Xcode 9, iOS 11 и tvOS 11. Apple TV 4K не имеет USB-порта, поэтому она требует беспроводной отладки. Как вы выполняете эту беспроводную отладку в Xcode?


3
Был ли кто-нибудь действительно успешным в выполнении беспроводной отладки? Я выполнил те же действия, но он продолжает показывать, что iphone отключен, когда я пытаюсь выполнить беспроводную отладку. Подключенная отладка работает нормально.
SeriousSam

2
@SeriousSam Это работает. Вы должны быть в той же сети.
Badhanganesh

Я проверил отладку по беспроводной сети, она работает нормально
iPC

1
Работает здесь, даже используя другой привязанный iPhone в качестве поддержки WiFi.
Джонни

1
Соединение разрывается через 10-20 секунд! Есть идеи почему так? Спасибо!
UserID0908

Ответы:


599

Настройте устройство для отладки сети

от help.apple.com

ПРИМЕЧАНИЕ. Для использования беспроводной отладки система Mac и iPhone / iPad должны использовать одну и ту же сеть.

Отладка вашего приложения, работающего на устройстве iOS или tvOS, через WiFi или другое сетевое соединение.

Примечание. Для отладки по сети требуется Xcode 9.0 или новее, работающий в macOS 10.12.4 или новее , а на устройстве требуется iOS 11.0 или новее или tvOS 11.0 или новее .

Действия по настройке iPhone, iPad или iPod touch

  1. Выберите «Окно»> «Устройства и симуляторы», затем в появившемся окне нажмите «Устройства».

  2. Подключите ваше устройство к Mac с помощью кабеля Lightning.

  3. Проверьте, включен ли пароль в настройках вашего устройства. Включить, если еще не включено.
  4. В левом столбце выберите устройство, а в области сведений выберите Подключить по сети.

    введите описание изображения здесь

    Xcode соединяется с вашим устройством. Если XCode может соединиться с устройством с помощью сети, значок сети появляется рядом с устройством в левом столбце.

    введите описание изображения здесь

  5. Отключите ваше устройство.

Примечание. Устройству требуется пароль для удаленной отладки.

Теперь вы готовы к отладке по сети.


Шаги по настройке Apple TV:

  1. Убедитесь, что ваш Mac и Apple TV находятся в одной сети.

  2. Выберите «Окно»> «Устройства и симуляторы», затем в появившемся окне нажмите «Устройства».

  3. На Apple TV откройте приложение «Настройки» и выберите «Удаленные устройства и устройства»> «Удаленное приложение и устройства».

  4. Apple TV ищет возможные устройства, включая Mac. (Если у вас есть брандмауэр или интернет-безопасность, отключите / выключите, чтобы разрешить поиск.)

  5. На вашем Mac выберите Apple TV на панели «Устройства». Панель Apple TV отображается и показывает текущее состояние запроса на подключение.

  6. Введите проверочный код, отображаемый на AppleTV, в окне устройства для устройства и нажмите «Подключиться».

Xcode настраивает Apple TV для беспроводной отладки и сопряжения с устройством.

Редактировать: -------

Иногда сопряжение не работает для беспроводной отладки, поэтому просто перезапустите устройство и подключитесь к Интернету. Также, если включен брандмауэр , вам необходимо отключить брандмауэр для сопряжения устройства.

введите описание изображения здесь

введите описание изображения здесь


9
Для меня это не сработало изначально. Но когда я перезапустил устройство, оно начало работать. Спасибо Apple за отладку Wi-Fi :)
Vinay Kumar

1
Перезагрузите компьютер и подождите немного, пока «iPhone был занят» и он работает.
Magnas

4
@Lacek Насколько я понимаю, невозможна беспроводная отладка через VPN. Проверю любой обходной путь, чтобы сделать это, если что-нибудь получит, обновлю здесь.
iPC

4
Очень важное замечание при подключении к Apple TV через сеть: оно не работает, когда ваш Mac также подключен к Apple TV через USB.
Ely

2
@Luz Я могу подтвердить, что эту функцию можно комбинировать с OpenVPN для отладки с удаленного сервера, используя довольно стандартную конфигурацию OpenVPN в Mojave. У меня есть несколько подробностей здесь , но если кому-то нужны подробные инструкции, не стесняйтесь связаться со мной.
Fakedad

53

Я пытался использовать окно подключения устройств Xcode через параметры сети. но я не вижу значок «Подключен по сети» рядом с именем устройства. также, как только отключите USB, пропала опция «Подключиться через сеть». также имя устройства отображается в списке отключенных устройств.

Но, используя опцию «Подключиться через IP-адрес ...», я могу подключиться.

  1. Щелкните правой кнопкой мыши имя устройства (в списке «Отключено») и выберите «Подключиться через IP-адрес ....».

введите описание изображения здесь

  1. Введите IP-адрес устройства и выберите Подключить. (вы можете найти через Настройки мобильного устройства> Wi-Fi> Выбрать имя Wi-Fi) введите описание изображения здесь

9
Когда я ввожу IP и нажимаю «Подключить», он загружается навсегда :(
Shyam

@Shyam И телефон, и Mac используют один и тот же Wi-Fi? Также проверьте, что вы используете совместимый Xcode.
DamithH

Я уверен, что оба использовали один и тот же WiFi, а версия Xcode - 9.1, MacOS 10.13.1, iPhone 11.1. Проблема была с сетью Надеюсь, она работала, когда я использовал другую сеть
Shyam

То же самое со мной. Но иногда работает, а иногда не работает ... Мне нужно закрыть и открыть свой xcode несколько раз, чтобы работать. Оба использовали один и тот же WiFi, а версия Xcode - 9.1, MacOS 10.13.1, iPhone 11.1.
Продажи Вагнера

1
@ Шям, это займет немного .. но это работает, это единственное решение, которое сработало для меня. Спасибо, Дамиф!
greaterKing

45

Если вы выполнили все шаги, данные Surjeet, и по-прежнему не получаете значок сетевого подключения, выполните следующие действия:

  1. Отключите устройство, щелкнув его правой кнопкой мыши в разделе « Подключено ».

    введите описание изображения здесь

  2. Переподключите устройство.

  3. Нажмите на кнопку «+» в конце левой части всплывающего окна.

введите описание изображения здесь

  1. Выберите устройство и нажмите на следующую кнопку

введите описание изображения здесь

  1. Нажмите « Доверие» и пароль (если есть) на устройстве.

введите описание изображения здесь

  1. Нажмите на кнопку Готово .

введите описание изображения здесь

  1. Теперь нажмите на подключение через сеть .

введите описание изображения здесь

Теперь вы можете увидеть значок сетевого подключения после имени устройства. Наслаждайтесь!

введите описание изображения здесь


Есть ли какие-либо условия, такие как ограничение диапазона? потому что когда я подключил его, он начал запускать мое приложение и отключился?
UserID0908

Я не вижу значок сетевого подключения после имени устройства. Эта проблема связана с подключением Wi-Fi?
Паллави

ДА, это сработало, я думаю, это потому, что ранее оно было сопряжено без PASSCODE, но когда мы включаем пароль в настройках устройства, нам нужно заново выполнить сопряжение устройства
user924

возможно да, если ваше устройство не подключено через Wi-Fi, то оно не появится @pallavi
ios_dev

20

необходимое условие

  • На вашем Mac Machine должна быть установлена ​​Mac OSX 10.12.4 или выше.
  • Ваше устройство iOS должно иметь как минимум iOS 11.0 или новее
  • Оба устройства должны быть в одной сети.

Шаги, чтобы Активировать

  • Подключите устройство iOS к компьютеру Mac с помощью кабеля.

  • Откройте Xcode, затем в верхнем меню Окно -> Устройства и симуляторы.

  • Выберите сегмент устройств и выберите нужное устройство из списка слева устройства.

  • На правой стороне вы можете увидеть открытый Подключение через сеть , включите эту опцию, как показано на прикрепленном изображении. Подключиться через сеть

  • Через несколько секунд вы увидите сетевой знак перед вашим устройством. введите описание изображения здесь

  • Отключите устройство и используйте отладку в обычном режиме.

Спасибо


1
Вы читали ответ @ Surjeet? Этот ответ не добавляет какой-либо замечательной ценности и делает пост ненужным большим.
elGeekalpha

1
@elGeekalpha Я начал следить за ответом surjeet, но он не упомянул об этой сети, так как столкнулся с проблемой при подключении через сеть. Да, мой ответ большой, но не лишний, так как я допустил ошибку, которой не будут другие пользователи, а также этот ответ поможет новичкам. Надеюсь, вы понимаете, и другие тоже помогут: наслаждайтесь кодированием
Aleem

Извините, я не хотел быть грубым, но первое впечатление показалось мне, что вы написали это, не читая этого. Спасибо за объяснение и наслаждайтесь WWDC17 тоже!
elGeekalpha

3
«Через несколько секунд вы увидите сетевой знак перед вашим устройством». <Эта деталь помогла мне
Джонни

1
Я был рад за картины. «Тысяча слов» и все такое.
Мел

16

Если после выполнения действий, описанных Surjeet, вы все еще не можете подключиться, попробуйте выключить и снова включить Wi-Fi на компьютере. Это сработало для меня.

Также не забудьте доверять сертификату разработчика на устройстве iOS («Настройки» - «Основные» - «Профили и управление устройствами» - «Приложение для разработчиков»).


8
Помогло переключение Wi-Fi на компьютере
Мирослав Гривик

14

Для сетевой отладки требуется Xcode 9.0 или новее, работающий на macOS 10.12.4 или новее, а на устройстве требуется iOS 11.0 или новее или tvOS 11.0 или новее.

iPhone

iOS 11 не будет доступна для 32-битных устройств , то есть iPhone 5 и iPhone 5c и ниже. Первый 64-битный iPhone - 5 с.

IPad

iPad mini 2 станет самым старым iPad с поддержкой iOS 11.

IPOD

iPod должен быть iPod 6, чтобы иметь возможность работать с iOS.

Если вы используете свои устройства не только для разработки, но и для производства, имейте в виду, что бета-версия ОС не для слабонервных ;-)


2
iOS 11 совместима с этими устройствами. iPhone iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone 6 iPhone 6 Plus iPhone SE iPhone 5s iPad 12,9-дюймовый iPad Pro 2-го поколения 12,9-дюймовый iPad Pro 1-го поколения 10,5-дюймовый iPad Pro 9,7-дюймовый iPad Pro iPad Air 2 iPad Air 2 Air IPad пятого поколения IPad мини 4 IPad мини 3 IPad мини 2 IPod IPod поколения сенсорным шестых
Жанг

iPad Air поддерживается на самом деле - первый 64-битный iPad.
Алекс Блэк

11

В новой бета-версии Xcode9 мы можем использовать беспроводную отладку, как говорит Apple :

Перережьте шнур
Выберите любое из ваших устройств iOS или tvOS в локальной сети для установки, запуска и отладки ваших приложений - без USB-кабеля, подключенного к вашему Mac. Просто установите флажок «Подключиться через сеть» при первом использовании нового устройства iOS, и с этого момента это устройство будет доступно по сети. Разработка беспроводных сетей также работает в других приложениях, включая «Инструменты», «Инспектор специальных возможностей», «Quicktime Player» и «Консоль».

Попробуй это!

Если возникают проблемы с отключением , попробуйте это:

Обходной путь : включите режим полета на устройстве на 10 секунд, а затем отключите режим полета, чтобы восстановить соединение


1
Ответ @ Surjeet является гораздо более полным.
Jeremy1026

@Lacek Я не уверен, но сомневаюсь, что оба устройства должны быть подключены к одной и той же сети WiFi.
D4ttatraya

Я тоже сомневаюсь, но однажды меня удивило, что является решением для сообщения «Я не буду загружать более 100 МБ по сотовой сети» из iOS - вы привязываете сотовый телефон к мобильному телефону (через USB) и делитесь им как WIFI, а затем iOS думает, что использует WIFI ... Я надеялся на подобный взлом, на этот раз более сложным.
Lacek

2
«Включите режим полета на вашем устройстве на 10 секунд» Это помогло!
Сабиланд

9

Я только что говорил с некоторыми инженерами Xcode на WWDC, и автоматическое обнаружение iDevices все еще немного глючит. Также иногда ваш телефон не транслируется правильно. Включение и выключение устройства может помочь.

Есть несколько обходных путей:

Вы можете проверить, транслирует ли ваш телефон Bonjour Browser (www.tildesoft.com). Посмотрите, указан ли ваш wifi-адрес в службе под названием '_apple-mobdev2._tcp. - 215 '(вы можете найти свой адрес Wi-Fi здесь: настройки> общие> о> адрес Wi-Fi.

В качестве запасного варианта вы можете подключиться к своему устройству, введя IP-адрес вручную (щелкните правой кнопкой мыши на своих устройствах в окне «Устройства»). Однако этот IP-адрес будет сохранен, поэтому, если вы измените сеть, вам нужно будет сбросить его. Эта опция еще не доступна в XCode, но вы можете сделать это через терминал с помощью следующей команды:

defaults read com.apple.dt.Xcode | grep IDEIDS

Это напечатает идентификатор, который вам нужно использовать в следующей команде:

defaults delete com.apple.dt.Xcode <identifier>

Теперь IP-адрес очищен, и вы можете ввести новый.

Последний вариант - создать сеть компьютер-компьютер. Это работает нормально, но логически у вас не будет доступа в интернет.


Похоже, в бета-4 больше нет возможности установить IP вручную. :( На стороне записки, я не мог сделать мой 6s картинки с бета - 4 для подключения к Xcode 9 беты 4.
МСР

1
Чтобы увидеть опцию установки IP-адреса, мне пришлось отключить устройство от порта USB
Доминик

5

Вы можете открыть Xcode Help -> Run and debug -> Network debugging для получения дополнительной информации. Надеюсь, поможет.


5

я выполнил все предложенные шаги, в частности те, которые были предоставлены ios_dev, но мой iPhone не был распознан из Xcode, и я не смог отладить по WiFi. Щелкните правой кнопкой мыши на левой панели над моим iDevice в окне «Устройства и симуляторы», затем «Подключиться через IP-адрес ...», вставьте IP-адрес iPhone, и теперь он работает правильно.


2
Важно отметить: устройство должно быть отключено от системы, чтобы эта опция появилась.
MichaelC

5

Для беспроводной отладки система Mac и iPhone / Device должны находиться в одной сети. Для создания в той же сети вы можете сделать следующее: либо вы можете запустить точку доступа на Mac и подключить ее на iPhone / Device, либо наоборот.

На Mac

введите описание изображения здесь

ИЛИ

На iPhone -

введите описание изображения здесь

Xcode ► Окно ► Устройства и симуляторы ► Вкладка «Выбор устройства» ► Нажмите «Подключиться через сеть» введите описание изображения здесь

https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad


Когда мой iPhone XS Max установлен на Personal Hotspot и я подключаю к нему свой MacBook Pro, я не могу использовать iPhone в качестве устройства отладки. Единственный случай беспроводной отладки, который мне подходит, - это подключить их к одному и тому же маршрутизатору Wi-Fi. Это очень раздражает при кодировании на ходу. Я всегда должен носить с собой кабель.
Вильмир

4

Моя проблема была о сетевом вещании SSID.

Я перепробовал все описанные выше решения, но все еще не смог подключить свое устройство, для моего устройства вообще не было значка «глобус». Затем я обнаружил, что по какой-то причине моя сеть отключила широковещательную передачу SSID (хотя я все еще мог подключиться к сети, введя SSID вручную). Как только я включил вещание SSID, я мог подключить свое устройство через «Подключение через IP-адрес ...».


Пожалуйста, предоставьте более полное описание проблемы, с которой вы столкнулись. По крайней мере, как это решает вопрос о том, как выполнить беспроводную отладку? Если это отдельная проблема, пожалуйста, создайте новый вопрос и ответьте на него
Дхруван Ганеш

3

Я перепробовал все ответы, но у меня ничего не получалось. В итоге я подключился к другой сети Wi-Fi, после чего смог отладить по беспроводной сети.

Я понятия не имею, почему это не работает со старой сетью


Это не сработало для меня в моей сети. Подключение к Bluetooth закрыло сделку ... не уверен, помогло ли это каким-либо образом или как ...
Swift Rabbit

2

Xcode 9 - Для получения подробной информации перейдите в Справка -> Сопряжение беспроводного устройства с Xcode (iOS, tvOS)


2

Единственное, что сработало для меня, - это подключить мой телефон к моему MacBook с помощью Bluetooth. (Я сделал это после первого соединения моего телефона с Xcode при подключении через кабель согласно ответу ios_dev выше.)

На своем телефоне я зашел в «Настройки»> «Bluetooth» и коснулся имени моего MacBook в разделе «МОИ УСТРОЙСТВА» для подключения.

Затем я зашел в Xcode> Устройства и симуляторы, выбрал свой телефон и проверил «Подключиться через сеть». Через несколько секунд значок глобуса появился рядом с моим телефоном, и я смог запустить и отладить свое приложение на своем телефоне.

Это работало, даже когда мой MacBook был подключен к сети Wi-Fi, и мой телефон использовал LTE. Единственным недостатком является то, что установка приложения на телефон была довольно медленной.


На самом деле! Попробовав все остальное найденное вокруг, подключение к моему Mac в bluetooth сработало мгновенно.
Джонни

1

Единственный способ заставить его работать - это если мой Mac и iPhone были в разных сетях. У меня есть основной DSL-модем, который называется network1, а второй network2 устанавливает для нас точку доступа. У них есть SSID сети1 и сети2. Если бы телефон был в сети1, а mac - в сети2, он бы работал, или наоборот. Но если бы оба были в сети1 или оба были в сети2, это НЕ работало бы.


1

Включить общий доступ к Интернету через USB-порты:

введите описание изображения здесь


1

Попробуй это:

1) Подключите ваше устройство iOS к вашему Mac с помощью кабеля молнии. Возможно, вам придется выбрать, чтобы доверять этому компьютеру на вашем устройстве.

2) Откройте Xcode и перейдите в « Окно» > « Устройства и симуляторы». .

3) Выберите ваше устройство и затем выберите Подключиться через сеть чтобы ваше устройство.

4) Запустите ваш проект после удаления кабеля освещения.


1

LOL, я делал все шаги здесь - я закончил тем, что делал непарные / ремонтные шаги из ответа "данного Surjeet". Это не сработало, и затем я заметил, что когда я нажимал кнопку «подключиться через сеть», появлялось то же самое желтое поле, которое всплывало, когда вы ремонтируете, говоря «занято» - я расстроился и просто начал стучать » кнопка «Подключиться через сеть», нажимая ее быстро, вероятно, за 15 - 20 щелчков - она ​​начала уменьшаться, но в конечном итоге приземлилась при возможности подключения к сети. До того, как это сработало, я также выключил свой Wi-Fi и снова включил его, как было предложено в одном из этих ответов, но действительно быстро нажал кнопку «подключиться через сеть» ... LOL

Кроме того, прежде чем я забил кнопку, я связал папки поддержки устройства, хотя я не уверен, что он что-то сделал:

открыть терминал

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

ln -s 13,3 13,4

ls -l 13.4

перезапустите Xcode и повторите попытку на устройстве

Сказал сделать это здесь - https://forums.developer.apple.com/thread/126940 - я отредактировал версию папки в своем комментарии, чтобы приспособиться к последней версии iOS 13.4.

РЕДАКТИРОВАТЬ Я думаю, я понял, в чем моя проблема, я должен был остановить свой Little Snitchсетевой фильтр. Кроме того, после того, как я смог подключиться нажатием кнопки, в раскрывающемся меню появилась опция «подключиться по IP-адресу», когда вы щелкнули правой кнопкой мыши на устройстве в диспетчере устройств в xcode, его не было до того, как я смог подключиться ультрахакерский стиль в первый раз. Если я подключаюсь, а затем включаю сетевой фильтр, он отключает мой телефон.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.