В моем предыдущем комментарии я сказал, что вложенный рекурсивный вызов GetShortPathName
не требуется. Я обнаружил, что в большинстве случаев это не требуется, но время от времени происходит сбой. Я не смог выяснить, когда, поэтому я сделал эту маленькую функцию, которая некоторое время работала без сбоев:
Это функция, которую я сейчас использую:
def short_name(name):
try:
return win32api.GetShortPathName(name)
except win32api.error:
dirname = os.path.dirname(name)
basename = os.path.basename(name)
short_dirname = win32api.GetShortPathName(dirname)
return win32api.GetShortPathName(os.path.join(short_dirname, basename))
try:
mtime = os.path.getmtime(name)
except FileNotFoundError:
name = short_name(name)
mtime = os.path.getmtime(name)
Насколько я могу судить, у вас не только не может быть запущено несколько экземпляров симулятора, но и когда придет время для реального тестирования устройства, у вас не может быть и нескольких запущенных экземпляров отладчика. .
Это означает, что для работы с приложениями для нескольких устройств вам понадобится один Mac, назначенный одному iPhone / сенсорному устройству (или экземпляру симулятора), на каждом из которых выполняется ваше приложение.
Я начал выяснять, можно ли VMWare или Parallels можно каким-то образом привлечь к этому, но мало что можно сделать без взлома ОС.
Я предлагаю отправить запрос на добавление функции на http://bugreporter.apple.com . . 1148387]
Хм ... Не думаю, что вам здесь что-то не хватает. Насколько мне известно, в SDK нет технологии, которая могла бы эмулировать несколько устройств, хотя это было бы полезной функцией. Я думаю, ваш единственный вариант - получить второе устройство с iPhone OS или найти друга, у которого также есть устройство с iPhone OS, чтобы вы могли использовать его для тестирования.
Другой вариант (хотя, вероятно, и переусердный), если у вас есть серверная лицензия Mac OS X, это виртуализация экземпляра Mac OS X Server, и запуск второго симулятора в ВМ.