Исполняемый код, произведенный из Java или компилятора C#, не интерпретируется - он компилируется в собственный код "как раз вовремя" (JIT). Так, с первым временным кодом в программе Java/C# встречаются во время выполнения, существуют немного служебные, поскольку "компилятор во время выполнения" (иначе JIT-компилятор) поворачивает код байта (Java) или код IL (C#) в собственные машинные команды. Однако в следующий раз, что с кодом встречаются, в то время как приложение все еще работает, собственный код сразу выполнен. Это объясняет, как некоторые программы Java/C#, кажется, являются медленными первоначально, но затем работают лучше дольше, они работают. Хорошим примером является веб-сайт ASP.NET. В самый первый раз, когда к веб-сайту получают доступ, это может быть немного медленнее, поскольку код C# компилируется в собственный код JIT-компилятором. Последующие доступы приводят к намного более быстрому веб-сайту - сторона сервера и сторона клиента, кэширующаяся в стороне.
Вы можете создать подкласс UIImagePickerController
, чтобы переопределить его поведение и предоставить собственное представление. Если вы сделаете это, вы можете затем вызвать imagePickerController: didFinishPickingMediaWithInfo:
и предоставить собственное предварительно записанное видео. Если вы включите видео, фактически записанное с iPhone 3GS, поведение, которое вы получите, будет чертовски похоже на поведение реального устройства.
Конечно, всегда всегда всегда тестируйте на реальном устройстве перед отправкой!
Мы используем подкласс CLLocationManager
очень похожим образом, чтобы обеспечить лучшее моделирование местоположения.
Я упростил:
Сначала я записал пример экрана с помощью QuickTime X и сохранил его для iPhone.
затем я скопировал его в '~ / Library / Application Support / iPhone Simulator / User / Media / DCIM / 100APPLE / VID_0001.m4v'
(возможно, вам потребуется создать каталог 100APPLE). перезапустил симулятор iPhone и увидел мое видео в разделе «Сохраненные фотографии» в Photos.app. когда я использую UIImagePickerController, это видео есть, и я могу его выбрать.
Если это помогает, я использую SDK 3.2.1 на 10.6.2.