iCimulator

by YuigaWada

YuigaWada /iCimulator

Simulate camera functions on iOS Simulator with images, videos, or your MacBook Camera.

148 Stars 16 Forks Last release: 11 months ago (1.5) MIT License 31 Commits 6 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

License Swift Version CocoaPods Compatible Carthage compatible


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

  1. Download and drop
    iCimulator
    in your project.
  2. Congratulations!



Usage๐Ÿ - Image or Video -

Just 5 steps!

  1. Prepare your mock data. (image/video)
  2. Install
    iCimulator
    .
  3. Copy
    iCimulator.swift
    and
    iCimulator.plist
    to your project.
  4. Set up
    iCimulator.plist
    , which is described what kind of mock data is used.
  5. Link
    iCimulator.swift
    and
    iCimulator.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



Usage๐ŸŽ - Mac Camera -

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 ๐Ÿ˜Š

Dependencies

  • Python 3.7.3
  • Numpy
  • opencv-python
  • Pillow
  • Pandas

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.

https://github.com/YuigaWada/iCimulator

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.