๐ท
iOS Camera Simulator
iCimulator allows us to use camera functions on iOS Simulator!
2019-Oct-23: A new mode 'Mac Camera Mode' is added!
โClick here for details!
Support for AVFoundation & UIImagePickerController !
๐
Installation CocoaPods
You can use CocoaPods to install iCimulator
by adding it to your Podfile
:
pod 'iCimulator'
Carthage
Create a Cartfile
that lists the framework and run carthage update
. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/iCimulator.framework
to an iOS project.
github "YuigaWada/iCimulator"
Manually
- Download and drop
iCimulator
in your project. - Congratulations!
๐ - Image or Video -
UsageJust 5 steps!
- Prepare your mock data. (image/video)
- Install
iCimulator
. - Copy
iCimulator.swift
andiCimulator.plist
to your project. - Set up
iCimulator.plist
, which is described what kind of mock data is used. - Link
iCimulator.swift
andiCimulator.plist
to your project.
You can copy iCimulator.swift
and iCimulator.plist
from template
folder.
**This 5-Steps MUST BE DONE on all projects which use camera functions.**
iCimulator.plist
Key | Value | Notes |
---|---|---|
Type | Image | You can set an image as a mock |
Video | You can set a video as a mock | |
Mac-Camera | Click here for details! | |
Argument | ... | Write here path of your mock data |
iCimulator.swift
//
// ** iCimulator.swift **
//
// MIT License
//
// Copyright (c) 2019 YuigaWada
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
#if targetEnvironment(simulator)
import iCimulator
//AVFoundation
public typealias AVCaptureDevice = FakeCaptureDevice
public typealias AVCaptureSession = FakeCaptureSession
public typealias AVCaptureVideoPreviewLayer = FakePreviewLayer
public typealias AVCapturePhotoOutput = FakeCapturePhotoOutput
public typealias AVCapturePhotoCaptureDelegate = FakeCapturePhotoCaptureDelegate
public typealias AVCapturePhoto = FakeCapturePhoto
public typealias AVCaptureDeviceInput = FakeCaptureDeviceInput
public typealias AVCaptureMovieFileOutput = FakeCaptureMovieFileOutput
public typealias AVCaptureFileOutput = FakeCaptureFileOutput
public typealias AVCaptureFileOutputRecordingDelegate = FakeCaptureFileOutputRecordingDelegate
public typealias AVCaptureConnection = FakeCaptureConnection
public typealias AVCapturePhotoSettings = FakeCapturePhotoSettings
public typealias AVCaptureResolvedPhotoSettings = FakeCaptureResolvedPhotoSettings
//For supporting iOS 10.
public typealias AVCaptureStillImageOutput = FakeCaptureStillImageOutput
public typealias CMSampleBuffer = FakeCMSampleBuffer
//UIImagePickerController
public typealias UIImagePickerController = FakeImagePickerController
public typealias UIImagePickerControllerDelegate = FakeImagePickerControllerDelegate
#endif
๐ - Mac Camera -
UsageYou can use your macbook camera to simulate camera functions!!
First, you need to launch a camera-server on your MacBook.
Open streaming_server
and launch streaming_server/server.py
!
After checking your iCimulator.plist
, you can see that your MacBook Camera is displayed on iOS Simulator
Dependencies
- Python 3.7.3
- Numpy
- opencv-python
Options
You can use these options in using streaming_server/server.py
.
___________________________________________________________________________
โโโ โโโโโโโโโโโโโโ โโโโโโโ โโโโโโ โโโโโโ โโโโโโโโโ โโโโโโโ โโโโโโโ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโ โโโ โโโ โโโโโโโโโโโ
โโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโ โโโ โโโ โโโโโโโโโโโ
โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโ โโโ
โโโ โโโโโโโโโโโโโ โโโ โโโโโโโ โโโโโโโโโโโ โโโ โโโ โโโโโโโ โโโ โโโ
by Yuiga Wada.
___________________________________________________________________________
-v / -verbose / --verbose : turn on Verbose Mode.
-h / -help / --help : show help.
-c / -camera / --camera : enable you to show the captured frame on another window.
Demo
CameraKit
Fusuma
๐
Todo- typealiasๅฏพ่ฑกใฎClass โไบใใซๅฏๆๅ
- Carthageใฎๆบๅ
- CocoaPodsใฎๆบๅ
- ๆฅๆฌ่ช็READMEใฎไฝๆ
Contribute
We would love you for the contribution to iCimulator, check the LICENSE
file for more info.
Others
Yuiga Wada - WebSite Twitter - @YuigaWada
Distributed under the MIT license. See LICENSE
for more information.