Копіювання з Mac OS X не копіюється на iPhone Simulator


90

У своєму додатку для iPhone у мене є багато мистецтв ASCII, які мені потрібно вставити в базу даних.

Я використовую симулятор і вставляю текст у текстовий режим, щоб вставити мистецтво ASCII до бази даних.

Тут буфер обміну симулятора один раз вставляє зображення належним чином, але коли я копіюю інше зображення, воно також вставляє попереднє зображення у текстовий режим.

Як вирішити цю проблему? Чи можна вирішити цей чи якийсь кращий підхід?

Відповіді:


227

Я був розчарований копіюванням та вставленням в тренажері, і не міг зрозуміти, що відбувається.

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

Нарешті я зрозумів, що симулятор має власний буфер обміну, окремо від основного буфера обміну OS X.

Ви використовуєте команди копіювання та вставки на основі дотику, щоб вставити їх у програму з буфера обміну симулятора.

Ви можете використовувати стандартні ярлики копіювання OS X (Command-X, C, V), щоб вставити їх із системного буфера обміну в буфер обміну симулятора.

Отже, щоб скопіювати та вставити з Chrome (наприклад), ви вибираєте текст у Chrome, Command-C для копіювання. Потім перейдіть на симулятор, Command-V, щоб вставити в буфер обміну симулятора. Потім у вашій програмі ви імітуєте дотик у текстовому полі, щоб відкрити опцію вставки, а потім імітуєте дотик до кнопки вставки, щоб вставити вміст буфера обміну симулятора в програму.

Параметри меню виконують те саме, що і комбінації клавіш - копіюйте / вставляйте між системним буфером обміну та клавіатурою симулятора.

Тепер, коли я це зрозумів, мені насправді це подобається набагато більше, ніж якби буфер обміну симулятора був автоматично прив’язаний до буфера обміну OS X.


4
Чудово! Я завжди дивувався, чому це часом спрацьовувало, а іноді ні! Так радий, що ти пролився на це!
Клаас,

3
Це, мабуть, найкорисніша відповідь, яку я знайшов на цьому сайті
GangstaGraham

2
Мене завжди бентежить copy & paste між симулятором та MAC, ваша відповідь чудова! Дуже дякую.
flypig

3
Дякуємо за відповідь і за вказівку на те, що може бути найгіршим рішенням про інтерфейс, яке коли-небудь було прийнято. (Виберіть опцію "вставити" в розкривному списку iOS Simulator ... нічого не трапиться ... потім знову виконайте "Вставити"? Хоча в цьому є якийсь концептуальний сенс, просто придумати, що хтось міг зрозуміти це вийшло.)
Грег Малетич

Чудове рішення! Працює фантастично.
AlKozin

32

З Xcode 9.0 або вище:

. Відкритий тренажер

. Натисніть "Редагувати" у верхньому меню

. Увімкнути -> "Автоматична синхронізація картону"

. Якщо вже включено, вимкніть його та ввімкніть знову.

. Тривале натискання, щоб вставити текст, тобто скопійовано

Нижче Xcode 9.0

  1. Копіюйте текст з будь-якого місця
  2. Вставте на симулятор командою (command + v), він нічого не покаже
  3. Потім натисніть (command + shift + v)

це працює для мене


1
дуже корисна підказка!
Роберт,

2
"Якщо вже ввімкнено, то вимкніть його та ввімкніть знову." було ключем!
rsc

19
  • + C- Копіює вміст буфера обміну iOS в OS X. Це працює як для тексту, так і для зображень.
  • + + C- Копіює вибраний текст (або інше, що відповідає селектору copy: у вашому додатку) у буфер обміну iOS. Цей не відображається в меню.
  • + + C- Копіює знімок екрана програми iOS (без хрому симулятора) в буфер обміну OS X (Використовуйте +, Sщоб зберегти його у файл на робочому столі).
  • + V - Копіює вміст буфера обміну OS X у iOS, але не вставляє його. Знову ж таки, це працює як для тексту, так і для зображень.
  • + + V- Вставляє буфер обміну OS X у програму iOS, але залишає буфер обміну без змін. Це не працює із зображеннями.

Джерело: http://olemoritz.net/copypaste-in-the-ios-simulator.html


17

У Xcode 9 або вище: 1. Активний симулятор 2. Перевірте меню «Редагувати -> Автоматична синхронізація картону» 3. Насолоджуйтесь :)


2

Це дивна проблема в моєму ПК. На моєму mac встановлено macOs Sierra 10.xx ++ . Що я роблю,

  1. Скопіюйте вміст зі свого Mac за допомогою command + cклавіатури.

  2. Тепер натисніть command + vу тому місці, куди потрібно вставити вміст.

  3. Тепер вставте в тренажер за допомогою command + shift + v

Працює добре. Підтверджена відповідь.!


1

Перевірте textвласність UITextView. Просто завантажте текст у файл NSStringі встановіть для цього рядка значенняtext властивість TextView.

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextView_Class/Reference/UITextView.html%23//apple_ref/occ/instp/UITextView/text


Не біда, будь-коли, я просто радий, що ти отримав свою відповідь.
Річард Дж. Росс III

0

Ви можете скопіювати вміст з mac за допомогою ⌘ + ⇧ + C та вставити в URL-адресу браузера за допомогою ⌘ + V.

Це працює для мене.


0

На останньому етапі спробуйте перезапустити симулятор Xcode та iOS
Menu -> Hardware -> Restart


-5

Отримав рішення:

З меню iPhone Simulator.

Третій варіант: Відновити вміст і налаштування.

Ви втратите всі програми, встановлені в тренажері, разом із налаштуваннями.

У мене це працює.


3
Це не відповідь на актуальне запитання.
smyk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.