Мы создали вспомогательную функцию, чтобы сделать что-то подобное для вставки изображений в галерею симулятора.
def init_simulator_images(num_images)
(1..num_images.to_i).each do |n|
target_file = "IMG_000#{n}.JPG"
begin
File.stat("#{ENV['simulator_media_path']}/#{target_file}")
rescue Errno::ENOENT
app_exec 'FEX_loadPhotoLibraryImage:', "test/#{target_file}"
end
end
end
и затем на стороне нативного кода у нас есть вспомогательный класс с именем FEX_Helper, помогающий во всем, где нам нужно изменить приложение во время выполнения (код RubyMotion, но v. Аналогичный target-c, за исключением синтаксиса):
def FEX_loadPhotoLibraryImage(imageStr)
img = UIImage.imageNamed(imageStr)
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil)
end
И, наконец, путь носителя симулятора определяется следующим образом:
def simulator_media_path
"#{self.simulator_version_path}/Media/DCIM/100APPLE"
end
def simulator_path
"/Users/#{self.user}/Library/Application\ Support/iPhone\ Simulator"
end
def simulator_version_path
"#{self.simulator_path}/#{self.simulator_version}"
end
Надеюсь, это поможет кому-то, пытающемуся внедрить файлы в симулятор для тестирования.
Mark