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 !
You can use CocoaPods to install iCimulator
by adding it to your Podfile
:
pod 'iCimulator'
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"
- Download and drop
iCimulator
in your project. - Congratulations!
Just 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.**
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 **
//
// 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
You 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 😊
- Python 3.7.3
- Numpy
- opencv-python
- Pillow
- Pandas
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.
- typealias対象のClass →互いに可換化
- Carthageの準備
- CocoaPodsの準備
- 日本語版READMEの作成
We would love you for the contribution to iCimulator, check the LICENSE
file for more info.
Yuiga Wada - WebSite Twitter - @YuigaWada
Distributed under the MIT license. See LICENSE
for more information.