Скопируйте вставьте текст в симулятор iOS


107

Это должно быть где-то задокументировано, но я не могу его найти.

В моем приложении, использующем симулятор iPad, есть текстовое поле, в которое я хочу, чтобы пользователь вставил текст. В реальном мире пользователь скопирует текст с адреса Safari в текстовое поле. Но я пытаюсь сделать это в симуляторе ios ipad, но с частичными результатами.

После перезапуска приложения я могу сразу вставить текст в текстовое поле с помощью Edit|Paste Textменю Mac или Shift-Command-V (но не просто Edit|Paste, но это нормально). Необходимость в Shift меня раздражает, но я могу с этим жить.

Но затем, если я попытаюсь скопировать другой URL-адрес на Mac, а затем снова Edit|Paste Textили даже использовать Pasteпузырек на симуляторе, я получу не новый текст, а исходный текст.

Это обычное дело? Это особенность симулятора в том, что он не подключен в реальном времени к буферу обмена на главном компьютере?


1
Сделайте это на устройстве. Не доверяйте тому, как работает тренажер, как он будет работать.
Jeremy1026 03

Ответы:


100

Будьте осторожны, чтобы не смешивать буфер обмена Mac с буфером обмена симулятора. Они не одинаковы.

Симулятор имитирует устройство iOS со своим собственным буфером обмена iOS, который приложения, работающие на этом устройстве (симуляторе), используют через приложение iOS для выбора всех / копирования / вставки элементов пользовательского интерфейса.

Совершенно отдельно от этого: у вашего Mac есть собственный буфер обмена и контент. Программа Simulator, запущенная на вашем Mac, предоставляет пункт меню Edit> Paste Text. Программа реализует этот пункт меню, обращаясь к буферу обмена вашего Mac, и вводит текст в симулятор, как если бы пользователь использовал клавиатуру. К буферу обмена iOS не обращаются и не влияют функции меню «Правка» приложения Simulator.

Обновление: начиная с Xcode 6, вам нужно выбрать Edit > Pasteпункт меню в iOS Simulator (это передает данные между буфером обмена Mac и буфером обмена iOS), затем коснитесь поля в симуляторе и коснитесь пузыря «Вставить».

В своем вопросе вы не указываете, из какого «Safari» вы копируете URL. Это может быть приложение для Mac Safari или приложение Safari для симулятора . Копирование из программы Safari для Mac попадает в буфер обмена Mac, а копирование из приложения Safari - в буфер обмена iOS внутри симулятора.

Я думаю, что ваши проблемы возникают из-за того, что вы путаете их, думая, что есть один буфер обмена, которым все пользуются.


12
В Xcode 9 (возможно, раньше) есть пункт меню в разделе «Автоматически синхронизировать монтажный стол», я думаю, он будет синхронизировать буфер обмена вашего Mac и буфер обмена симулятора, поэтому они всегда будут одинаковыми.
Крис Слэйд

111

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

Однако простое снятие отметки и повторная установка этой опции исправили эту функцию!

Надеюсь, это сработает для кого-то.


8
Это помогло мне снова включить совместное использование буфера обмена после обновления до Xcode 10.1.
Jon Steinmetz

2
Да, это работает. Однако только один раз. Пришлось повторить те же шаги в следующий раз, чтобы заставить его работать. В любом случае, рад, что есть какой-то вариант :)
sunil

1
Сработало у меня! Спасибо, что нашли время опубликовать.
Энди

67

Скопируйте текст на Mac, затем щелкните текстовое поле в симуляторе и нажмите

Команда Shift V


1
Для меня это комбинация? Очень странно. Мне пришлось вставить в строку меню, а затем сделать это, чтобы получить пасту.
Брендан

Похоже, этот подход работает часто, но не всегда. В моем случае 100% рабочий метод - это Cmd + C некоторого текста, затем его копирование с помощью контекстного меню мыши, затем в Simulator Cmd + V, Cmd + Shift + V, вставка через меню. Странно, но работает ...
brigadir

14

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

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


4
Мне пришлось снять этот флажок, чтобы мой монтажный стол работал, но я счастлив, что могу снова скопировать / вставить!
Стюарт П.

2
хммм, похоже, не работает с os x 10.13.6 и xcode 10.1, если только я не делаю что-то еще не так с моими настройками
Даниэль Лизик,


Все остальные ответы только о cmd + c - cmd + v следует удалить. спасибо
Запорожченко Александр

12

Что сработало для меня, так это.

1) копировать текст с Mac

2) В симуляторе выполните edit-> paste или Command V (я думаю, это копирует текст из буфера обмена Mac в буфер обмена iOS Simulator).

3) Выделите текстовое поле в симуляторе, а затем выполните команду + Shift + V.


9

Xcode 10.0+ :

Отключение и повторное включение автоматической синхронизации монтажного стола решило проблему.

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

(Правка -> Автоматическая синхронизация монтажного стола)


8

Я обновился до os x 10.13.6 и xcode 10.1, и в edit

щелкните, get pasteboardтогда вы сможете вставить с помощью всплывающей подсказки в симуляторе


3
Мне пришлось щелкнуть Send Pasteboard, чтобы вставить симулятор. Get Pasteboardсделал обратное действие, он поместил буфер обмена iOS в буфер обмена Mac.
qwertzguy

1
теперь это правильный ответ, за исключением того, что, как указывает qwertzguy, вы получили его наоборот
evanflash

5

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

  1. Отключите, а затем снова включите эту Automatically Sync Pasteboardопцию, она находится в Editменю Симулятора.
  2. Скопируйте нужный текст со своего Mac
  3. Снова вставьте текст на свой Mac в текстовом редакторе, таком как Atom, или даже в адресной строке браузера.
  4. Выделите весь текст, Cmd+Aа затем вырежьте / скопируйте Cmd+X/Cmd+C
  5. Теперь вы можете вставить текст в симулятор

2

Иногда очень сложно ввести длинные URL-адреса в симуляторе iOS. Должен быть способ скопировать URL-адрес из Max OS в текстовое поле iOS. Вот как это сделать:

  • Скопируйте текст с Mac
  • Откройте симулятор и щелкните текстовое поле, в которое вы хотите вставить текст.
  • Теперь в меню Симулятора нажмите Edit->Paste Text

и это все. Ваш текст из буфера копирования Mac OS теперь должен быть в текстовом поле симулятора iOS.


2

В новом эмуляторе у меня не было опции «вставить», и синхронизация для симулятора не работала. Похоже, что в симуляторе вы ДОЛЖНЫ скопировать что-то во внутренний буфер обмена, прежде чем синхронизация действительно сработает.


Это спасло мою задницу! Xcode 10.2 недавно установлен, новый симулятор, ничего не работает. Затем скопировал небольшой фрагмент кода и вуаля - я получил меню вставки! Спасибо!!!
Дэвид Х

1

Три шага: (Ключевой момент - убедиться, что меню справки «Вставить» остается видимым, когда вы используете «⌘ + V» .)

  1. убедитесь, что вы выбрали точку, которую хотите пройти в симуляторе, и отображается editMenu с «Paste» .
  2. используйте клавиатуру Mac, « ⌘ + V », чтобы вставить текст в буфер обмена симулятора.
  3. щелкните «Вставить» в меню редактирования, которое показано выше, чтобы вставить текст в текстовое поле симулятора.

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


0

иногда вам просто нужно выбрать Оборудование -> сбросить содержимое и настройки в меню симулятора. тогда все работает автоматически, так же просто и прозрачно, как работа в MacOS с другими приложениями


0

Ни одно из этих решений не помогло мне. Я использую Simulator 11.4. И, попробовав каждый из них, я понял, что все, что мне нужно сделать, это скопировать что-то на моем Mac с помощью Command + C, а затем в текстовом поле симулятора просто удерживать щелчок мышью на дополнительную секунду или две, и меню вставки всплывал автоматически и отлично работал.

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


-1

У меня это работает. В Safari версии 8.0.3 и симуляторе ввода-вывода версии 8.1

  1. Скопируйте текст из Safari - выделите текст, затем cmd-v или Правка> Копировать.
  2. В Ios Simulator нажмите «Правка»> «Вставить».
  3. В TextField или TextView щелкните правой кнопкой мыши и выберите «Вставить».

-1

Вот что я нашел.

  1. Скопируйте текст с Mac.
  2. В симуляторе откройте сафари и выделите адресную строку, щелкнув по ней.
  3. Нажмите Cmd + V
  4. Щелкните один раз на адресной строке.
  5. Появится раскрывающийся список "Вставить".
  6. Нажмите на пасту.

Shift + Cmd + V тоже отлично работает.


-1

⌘ + V: когда симулятор iOS находится впереди, скопируйте содержимое буфера обмена OS X в iOS, но не вставляйте его. Опять же, это работает как для текста, так и для изображений.
Итак, вам нужно сделать следующее:
1. скопировать текст в любое место в MacOS, кроме симулятора iOS.
2. в симуляторе iOS нажмите ⌘ + V, скопируйте текст из буфера обмена macOS в буфер симулятора iOS.
3. в симуляторе iOS щелкните TextField или TextView -> Изменить -> Вставить.

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