We need to create a virtual env for our app to run in: More Here Run this command in whatever folder you want to create your venv folder
python -m venv ./venv
We need to create a virtual env for our app to run in: More Here Run this command in whatever folder you want to create your venv folder
python -m venv ./venv
| struct Shop: Codable { | |
| struct MapMarker: Codable { | |
| var id: Int | |
| var description: String | |
| var imagePath: String | |
| var created_at: String? | |
| var updated_at: String? | |
| } | |
| // | |
| // AssetRecorderView.swift | |
| // Snowball | |
| // | |
| // Created by Le Tai on 7/20/16. | |
| // Copyright © 2016 Snowball. All rights reserved. | |
| // | |
| import UIKit | |
| import AVFoundation |
| // | |
| // ViewController.swift | |
| // CameraFilter | |
| // | |
| import UIKit | |
| import AVFoundation | |
| class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate { | |
| #import <AVFoundation/AVFoundation.h> | |
| #import "Recorder.h" | |
| @interface Recorder()<AVCaptureAudioDataOutputSampleBufferDelegate>{ | |
| AVCaptureDevice *audioDevice; | |
| AVCaptureDeviceInput *audioInput; | |
| AVCaptureAudioDataOutput* _audioDataOutput; | |
| dispatch_queue_t _captureQueue; | |
| AVURLAsset *_asset; |
| # INFOPLIST_FILE="xxx/Info.plist" | |
| # echo $INFOPLIST_FILE | |
| # get current plist file path=> $ what-marketing-version | grep "Found" | awk '{print $NF}' | |
| # awk '{print $NF}'; will split the sentense and get the last one (NF=number of fields in the current record) | |
| # | |
| #PLIST_PATH=$(agvtool what-marketing-version | grep "Found" | awk '{print $NF}') | |
| #PLIST_PATH="${PLIST_PATH%\"}" | |
| #PLIST_PATH="${PLIST_PATH#\"}" | |
| #(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$PLIST_PATH") |
| extension URLRequest { | |
| func toCurlCommand() -> String { | |
| func escapeTerminalString(_ value: String) -> String { | |
| return value.replacingOccurrences(of: "\"", with: "\\\"", options:[], range: nil) | |
| } | |
| let method = self.httpMethod ?? "GET" | |
| var returnValue = "curl -i \n -X \(method) " | |
| for (key, value) in self.allHTTPHeaderFields ?? [:] { |
| extension UIView { | |
| func findViewByAccessibilityIdentifier(accessibilityIdentifier identifier: String) -> UIView? { | |
| for view in self.subviews { | |
| if view.accessibilityIdentifier == identifier { | |
| return view | |
| } | |
| } | |
| return nil | |
| } | |
| } |
| Function COUNT_HOURS(startEndTime As String) | |
| 'Will count the hours between times in format "1230-1500" | |
| '==================================== | |
| Dim countHours As Double | |
| countHours = 0 | |
| Dim times() As String: times = Split(startEndTime, "-") |
| #/bin/sh | |
| export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer | |
| find /Applications/Xcode.app/ -name "symbolicatecrash" | grep "SharedFrameworks" | |
| #/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash | |
| #This app can sybolicate the *.crash, *.ips files, it really helps! | |
| symbolicatecrash --dsym /path/xxxx.xcarchive/dSYMs --output name.symbolicated.crash name.crash |