Showing
15 changed files
with
358 additions
and
1 deletions
No preview for this file type
HapticCam /.DS_Store
0 → 100644
No preview for this file type
HapticCam /AppDelegate.swift
0 → 100644
1 | +// | ||
2 | +// AppDelegate.swift | ||
3 | +// HapticCam | ||
4 | +// | ||
5 | +// Created by 박진형 on 2020/12/15. | ||
6 | +// | ||
7 | + | ||
8 | +import UIKit | ||
9 | + | ||
10 | +@main | ||
11 | +class AppDelegate: UIResponder, UIApplicationDelegate { | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { | ||
16 | + // Override point for customization after application launch. | ||
17 | + return true | ||
18 | + } | ||
19 | + | ||
20 | + // MARK: UISceneSession Lifecycle | ||
21 | + | ||
22 | + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { | ||
23 | + // Called when a new scene session is being created. | ||
24 | + // Use this method to select a configuration to create the new scene with. | ||
25 | + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) | ||
26 | + } | ||
27 | + | ||
28 | + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) { | ||
29 | + // Called when the user discards a scene session. | ||
30 | + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. | ||
31 | + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. | ||
32 | + } | ||
33 | + | ||
34 | + | ||
35 | +} | ||
36 | + |
HapticCam /Assets.xcassets/.DS_Store
0 → 100644
No preview for this file type
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "idiom" : "iphone", | ||
5 | + "scale" : "2x", | ||
6 | + "size" : "20x20" | ||
7 | + }, | ||
8 | + { | ||
9 | + "idiom" : "iphone", | ||
10 | + "scale" : "3x", | ||
11 | + "size" : "20x20" | ||
12 | + }, | ||
13 | + { | ||
14 | + "idiom" : "iphone", | ||
15 | + "scale" : "2x", | ||
16 | + "size" : "29x29" | ||
17 | + }, | ||
18 | + { | ||
19 | + "idiom" : "iphone", | ||
20 | + "scale" : "3x", | ||
21 | + "size" : "29x29" | ||
22 | + }, | ||
23 | + { | ||
24 | + "idiom" : "iphone", | ||
25 | + "scale" : "2x", | ||
26 | + "size" : "40x40" | ||
27 | + }, | ||
28 | + { | ||
29 | + "idiom" : "iphone", | ||
30 | + "scale" : "3x", | ||
31 | + "size" : "40x40" | ||
32 | + }, | ||
33 | + { | ||
34 | + "idiom" : "iphone", | ||
35 | + "scale" : "2x", | ||
36 | + "size" : "60x60" | ||
37 | + }, | ||
38 | + { | ||
39 | + "idiom" : "iphone", | ||
40 | + "scale" : "3x", | ||
41 | + "size" : "60x60" | ||
42 | + }, | ||
43 | + { | ||
44 | + "idiom" : "ipad", | ||
45 | + "scale" : "1x", | ||
46 | + "size" : "20x20" | ||
47 | + }, | ||
48 | + { | ||
49 | + "idiom" : "ipad", | ||
50 | + "scale" : "2x", | ||
51 | + "size" : "20x20" | ||
52 | + }, | ||
53 | + { | ||
54 | + "idiom" : "ipad", | ||
55 | + "scale" : "1x", | ||
56 | + "size" : "29x29" | ||
57 | + }, | ||
58 | + { | ||
59 | + "idiom" : "ipad", | ||
60 | + "scale" : "2x", | ||
61 | + "size" : "29x29" | ||
62 | + }, | ||
63 | + { | ||
64 | + "idiom" : "ipad", | ||
65 | + "scale" : "1x", | ||
66 | + "size" : "40x40" | ||
67 | + }, | ||
68 | + { | ||
69 | + "idiom" : "ipad", | ||
70 | + "scale" : "2x", | ||
71 | + "size" : "40x40" | ||
72 | + }, | ||
73 | + { | ||
74 | + "idiom" : "ipad", | ||
75 | + "scale" : "1x", | ||
76 | + "size" : "76x76" | ||
77 | + }, | ||
78 | + { | ||
79 | + "idiom" : "ipad", | ||
80 | + "scale" : "2x", | ||
81 | + "size" : "76x76" | ||
82 | + }, | ||
83 | + { | ||
84 | + "idiom" : "ipad", | ||
85 | + "scale" : "2x", | ||
86 | + "size" : "83.5x83.5" | ||
87 | + }, | ||
88 | + { | ||
89 | + "idiom" : "ios-marketing", | ||
90 | + "scale" : "1x", | ||
91 | + "size" : "1024x1024" | ||
92 | + } | ||
93 | + ], | ||
94 | + "info" : { | ||
95 | + "author" : "xcode", | ||
96 | + "version" : 1 | ||
97 | + } | ||
98 | +} |
HapticCam /Assets.xcassets/Contents.json
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | ||
3 | + <dependencies> | ||
4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> | ||
5 | + <capability name="Safe area layout guides" minToolsVersion="9.0"/> | ||
6 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||
7 | + </dependencies> | ||
8 | + <scenes> | ||
9 | + <!--View Controller--> | ||
10 | + <scene sceneID="EHf-IW-A2E"> | ||
11 | + <objects> | ||
12 | + <viewController id="01J-lp-oVM" sceneMemberID="viewController"> | ||
13 | + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | ||
14 | + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
15 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
16 | + <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> | ||
17 | + <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> | ||
18 | + </view> | ||
19 | + </viewController> | ||
20 | + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
21 | + </objects> | ||
22 | + <point key="canvasLocation" x="53" y="375"/> | ||
23 | + </scene> | ||
24 | + </scenes> | ||
25 | +</document> |
HapticCam /Base.lproj/Main.storyboard
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17506" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> | ||
3 | + <device id="retina5_5" orientation="portrait" appearance="light"/> | ||
4 | + <dependencies> | ||
5 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17505"/> | ||
6 | + <capability name="Safe area layout guides" minToolsVersion="9.0"/> | ||
7 | + <capability name="System colors in document resources" minToolsVersion="11.0"/> | ||
8 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||
9 | + </dependencies> | ||
10 | + <scenes> | ||
11 | + <!--View Controller--> | ||
12 | + <scene sceneID="tne-QT-ifu"> | ||
13 | + <objects> | ||
14 | + <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="HapticCam" customModuleProvider="target" sceneMemberID="viewController"> | ||
15 | + <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> | ||
16 | + <rect key="frame" x="0.0" y="0.0" width="414" height="736"/> | ||
17 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
18 | + <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> | ||
19 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
20 | + </view> | ||
21 | + </viewController> | ||
22 | + <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> | ||
23 | + </objects> | ||
24 | + <point key="canvasLocation" x="-210" y="80"/> | ||
25 | + </scene> | ||
26 | + </scenes> | ||
27 | + <resources> | ||
28 | + <systemColor name="systemBackgroundColor"> | ||
29 | + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
30 | + </systemColor> | ||
31 | + </resources> | ||
32 | +</document> |
HapticCam /Info.plist
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
3 | +<plist version="1.0"> | ||
4 | +<dict> | ||
5 | + <key>CFBundleDevelopmentRegion</key> | ||
6 | + <string>$(DEVELOPMENT_LANGUAGE)</string> | ||
7 | + <key>CFBundleExecutable</key> | ||
8 | + <string>$(EXECUTABLE_NAME)</string> | ||
9 | + <key>CFBundleIdentifier</key> | ||
10 | + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||
11 | + <key>CFBundleInfoDictionaryVersion</key> | ||
12 | + <string>6.0</string> | ||
13 | + <key>CFBundleName</key> | ||
14 | + <string>$(PRODUCT_NAME)</string> | ||
15 | + <key>CFBundlePackageType</key> | ||
16 | + <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> | ||
17 | + <key>CFBundleShortVersionString</key> | ||
18 | + <string>1.0</string> | ||
19 | + <key>CFBundleVersion</key> | ||
20 | + <string>1</string> | ||
21 | + <key>LSRequiresIPhoneOS</key> | ||
22 | + <true/> | ||
23 | + <key>UIApplicationSceneManifest</key> | ||
24 | + <dict> | ||
25 | + <key>UIApplicationSupportsMultipleScenes</key> | ||
26 | + <false/> | ||
27 | + <key>UISceneConfigurations</key> | ||
28 | + <dict> | ||
29 | + <key>UIWindowSceneSessionRoleApplication</key> | ||
30 | + <array> | ||
31 | + <dict> | ||
32 | + <key>UISceneConfigurationName</key> | ||
33 | + <string>Default Configuration</string> | ||
34 | + <key>UISceneDelegateClassName</key> | ||
35 | + <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string> | ||
36 | + <key>UISceneStoryboardFile</key> | ||
37 | + <string>Main</string> | ||
38 | + </dict> | ||
39 | + </array> | ||
40 | + </dict> | ||
41 | + </dict> | ||
42 | + <key>UIApplicationSupportsIndirectInputEvents</key> | ||
43 | + <true/> | ||
44 | + <key>UILaunchStoryboardName</key> | ||
45 | + <string>LaunchScreen</string> | ||
46 | + <key>UIMainStoryboardFile</key> | ||
47 | + <string>Main</string> | ||
48 | + <key>UIRequiredDeviceCapabilities</key> | ||
49 | + <array> | ||
50 | + <string>armv7</string> | ||
51 | + </array> | ||
52 | + <key>UISupportedInterfaceOrientations</key> | ||
53 | + <array> | ||
54 | + <string>UIInterfaceOrientationPortrait</string> | ||
55 | + <string>UIInterfaceOrientationLandscapeLeft</string> | ||
56 | + <string>UIInterfaceOrientationLandscapeRight</string> | ||
57 | + </array> | ||
58 | + <key>UISupportedInterfaceOrientations~ipad</key> | ||
59 | + <array> | ||
60 | + <string>UIInterfaceOrientationPortrait</string> | ||
61 | + <string>UIInterfaceOrientationPortraitUpsideDown</string> | ||
62 | + <string>UIInterfaceOrientationLandscapeLeft</string> | ||
63 | + <string>UIInterfaceOrientationLandscapeRight</string> | ||
64 | + </array> | ||
65 | + <key>NSCameraUsageDescription</key> | ||
66 | + <string></string> | ||
67 | + <key>NSPhotoLibraryAddUsageDescription</key> | ||
68 | + <string></string> | ||
69 | + <key>NSMicrophoneUsageDescription</key> | ||
70 | + <string></string> | ||
71 | + <key>NSPhotoLibraryUsageDescription</key> | ||
72 | + <string></string> | ||
73 | +</dict> | ||
74 | +</plist> |
HapticCam /SceneDelegate.swift
0 → 100644
1 | +// | ||
2 | +// SceneDelegate.swift | ||
3 | +// HapticCam | ||
4 | +// | ||
5 | +// Created by 박진형 on 2020/12/15. | ||
6 | +// | ||
7 | + | ||
8 | +import UIKit | ||
9 | + | ||
10 | +class SceneDelegate: UIResponder, UIWindowSceneDelegate { | ||
11 | + | ||
12 | + var window: UIWindow? | ||
13 | + | ||
14 | + | ||
15 | + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { | ||
16 | + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. | ||
17 | + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. | ||
18 | + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). | ||
19 | + guard let _ = (scene as? UIWindowScene) else { return } | ||
20 | + } | ||
21 | + | ||
22 | + func sceneDidDisconnect(_ scene: UIScene) { | ||
23 | + // Called as the scene is being released by the system. | ||
24 | + // This occurs shortly after the scene enters the background, or when its session is discarded. | ||
25 | + // Release any resources associated with this scene that can be re-created the next time the scene connects. | ||
26 | + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). | ||
27 | + } | ||
28 | + | ||
29 | + func sceneDidBecomeActive(_ scene: UIScene) { | ||
30 | + // Called when the scene has moved from an inactive state to an active state. | ||
31 | + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. | ||
32 | + } | ||
33 | + | ||
34 | + func sceneWillResignActive(_ scene: UIScene) { | ||
35 | + // Called when the scene will move from an active state to an inactive state. | ||
36 | + // This may occur due to temporary interruptions (ex. an incoming phone call). | ||
37 | + } | ||
38 | + | ||
39 | + func sceneWillEnterForeground(_ scene: UIScene) { | ||
40 | + // Called as the scene transitions from the background to the foreground. | ||
41 | + // Use this method to undo the changes made on entering the background. | ||
42 | + } | ||
43 | + | ||
44 | + func sceneDidEnterBackground(_ scene: UIScene) { | ||
45 | + // Called as the scene transitions from the foreground to the background. | ||
46 | + // Use this method to save data, release shared resources, and store enough scene-specific state information | ||
47 | + // to restore the scene back to its current state. | ||
48 | + } | ||
49 | + | ||
50 | + | ||
51 | +} | ||
52 | + |
HapticCam /ViewController.swift
0 → 100644
This diff is collapsed. Click to expand it.
Podfile
0 → 100644
1 | +# Uncomment the next line to define a global platform for your project | ||
2 | +# platform :ios, '9.0' | ||
3 | + | ||
4 | +target 'HapticCam' do | ||
5 | + # Comment the next line if you don't want to use dynamic frameworks | ||
6 | + use_frameworks! | ||
7 | + | ||
8 | + # Pods for HapticCam | ||
9 | + pod 'RxSwift', '~> 4.5.0' | ||
10 | + pod 'RxCocoa', '~> 4.5.0' | ||
11 | + pod 'Alamofire', '~> 4.8.2' | ||
12 | + pod 'Then' | ||
13 | + pod 'SnapKit' | ||
14 | + | ||
15 | + target 'HapticCamTests' do | ||
16 | + inherit! :search_paths | ||
17 | + # Pods for testing | ||
18 | + end | ||
19 | + | ||
20 | + target 'HapticCamUITests' do | ||
21 | + # Pods for testing | ||
22 | + end | ||
23 | + | ||
24 | +end |
This file is too large to display.
-
Please register or login to post a comment