목록Swift (727)
투케이2K

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import UIKit class ViewController: UIViewController { @IBOutlet weak var displayText: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } // [흔들기 이벤트 동작 시작] var startMotionTime = "" var cancleMotionTime = "" var endMotionTime = "" override func motionBegan(_ motion: UIEvent.EventSubtype,..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [외부 앱 실행 실시] /* 1. tel , mailto , sms , l 등을 사용해 디바이스 외부 앱을 수행할 수 있습니다 2. 전화 걸기 : tel:010-1234-5678 3. 메일 보내기 : mailto:honggildung@test.com 4. 문자 보내기 : sms:010-5678-1234 5. 링크 이동 : https://naver.com 6. 호출 예시 : goDeviceApp(_url: "tel:010-1234-5678") */ func goDeviceApp(_url : String) { //스키마명을 사용해 외부앱 실행 실시 [사용가능한 url 확인] if let openApp = URL(s..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // // SceneDelegate.swift // testCode // // Created by lotecs on 2021/10/16. // import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and atta..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func checkAppVersion() -> String { /* [앱 버전 정보 확인 방법] 1. 앱 스토어 사이트 접속 : https://www.apple.com/kr/app-store/ 2. 버전 정보를 확인하려는 앱 검색 : ex) 크롬 3. 앱 아이디 확인 실시 : https://apps.apple.com/kr/app/google-chrome/id535886823 */ // [테스트 크롬 / 앱스토어에서 크롬으로 ID 확인 가능] let appleID = "535886823" guard let url = URL(string: "http://itunes.apple.com/lookup?id=\(appleID)..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func checkBuildInfo() { // [초기 변수 선언 실시] var appName = "" var appVersion = "" var appBuildVersion = "" var appBundleIdentifier = "" if let infomation = Bundle.main.infoDictionary { if let Name = infomation["CFBundleDisplayName"] as? String { appName = Name } if let Version = infomation["CFBundleShortVersionString"] as? String { appVersion = Versi..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import Foundation import CryptoSwift class C_AesUtil { // MARK: [클래스 설명] /* 1. AES 암호화 란 비밀키를 사용해 인코딩 , 디코딩을 수행하는 암호화 기법입니다 2. AES 128 [key] : 16 byte 3. AES 192 [key] : 24 byte 4. AES 256 [key] : 32 byte 5. 필수 사항 : CryptoSwift 라이브러리 설치 6. CryptoSwift 라이브러리 git 주소 : https://github.com/krzyzanowskim/CryptoSwift 7. 패키지 import : import CryptoSwift *..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명]

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import Foundation import Security import UIKit class S_Keychain { // MARK: [키 체인 클래스 사용 방법] /* 1. 디바이스 정보 저장 : S_Keychain().createDeviceID() => 리턴 값 true / false 2. 디바이스 정보 조회 : S_Keychain().getDeviceID() => 저장된 디바이스 고유값 문자열 3. 디바이스 정보 삭제 : S_Keychain().deleteDeviceID() => 리턴 값 true / false */ // MARK: [키 체인 설명] /* 1. Keychain 은 디바이스 안에 암호화된 데이터 ..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import Foundation class S_Preference { //MARK: [클래스 기본 설명] /* 1. UserDefaults 사용해 모바일 데이터 저장 클래스 2. UserDefaults : Key-Value 형태를 저장 3. UserDefaults : 앱이 종료되어도 값이 저장되지만, 앱이 삭제되면 저장된 데이터가 사라짐 4. UserDefaults : Int, Double, Float, String, Bool, Data 등 데이터 타입을 저장 실시 5. 참고 : 앱이 삭제되어도 데이터가 유지되길 원한다면 Core Data 혹은 KeyChain, NSKeyedArchiever등을 이용한 파일 형태로 ..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [손님 : 접속하는 쪽] [주인 : 접속을 받아서 데이터 처리하는 쪽 : 프로젝트 설정 부분] [주인 : 소스코드 : SceneDelegate] import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelegate { // 전역 변수 선언 [스키마 데이터를 전송할 컨트롤러] var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { print("") print("=======..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명 : LSApplicationQueriesSchemes] [소스 코드] // [외부 앱 실행 실시] /* 1. https://www.apple.com/kr/ 사이트에 접속해서 특정 앱 주소를 확인합니다 2. 크롬 앱 id 확인 : https://apps.apple.com/kr/app/google-chrome/id535886823 [id535886823 부분을 사용해서 외부앱을 실행합니다] 3. 크롬 스키마 확인 : googlechrome:// 4. 로직 : 외부앱 설치되었을 경우 >> 외부앱 실행 (스키마) / 외부앱이 설치되지 않은 경우 앱 스토어 이동 (앱 id) 5. 호출 예시 : goOutApp(_scheme..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [외부 링크 페이지 이동 실시] // SFSafariViewController 사용 시 필요 : import SafariServices func intentWebSiteLink(_url : String){ // [http 주소를 포함한지 확인] if _url.hasPrefix("http") == true || _url.hasPrefix("https") == true { print("") print("===============================") print("[intentWebSiteLink : 웹사이트 이동 실시]") print("url : ", _url) print("===============..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] /* [요약 설명] 1. hasPrefix : string 형태 문자열에서 특정 문자로 시작하는 지 확인해줍니다 2. hasSuffix : string 형태 문자열에서 특정 문자로 종료하는 지 확인해줍니다 3. hasPrefix , hasSuffix 는 포함 여부를 true , false 값으로 반환해줍니다 */ // [테스트 메인 함수 정의 실시] func testMain() { print("") print("===============================") print("[testMain : Program Start]") print("===============================") print..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명] [소스 코드] func requestGet() { // [URL 지정 및 파라미터 값 지정 실시] var urlComponents = URLComponents(string: "https://jsonplaceholder.typicode.com/posts?") let paramQuery_1 = URLQueryItem(name: "userId", value: "1") let paramQuery_2 = URLQueryItem(name: "id", value: "1") urlComponents?.queryItems?.append(paramQuery_1) // 파라미터 지정 urlComponents?.queryItems?...

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명] [소스 코드] import UIKit import AVFoundation import Photos import CoreLocation import CoreBluetooth // [CLLocationManagerDelegate 추가 필요] class MainController: UIViewController, CBPeripheralManagerDelegate { // [MainController : 버튼 UI 객체 정의 실시] @IBOutlet weak var intentBtn: UIButton! override func viewDidLoad() { super.viewDidLoad() // Do any additi..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명] [소스 코드] import UIKit import AVFoundation import Photos import CoreLocation import CoreBluetooth // [CLLocationManagerDelegate 추가 필요] class MainController: UIViewController , CLLocationManagerDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. print("") print("============================..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명] [소스 코드] import UIKit import AVFoundation import Photos import CoreLocation import CoreBluetooth class MainController: UIViewController { /* MARK: - [블루투스 목록 스캔 및 블루투스 연결 수행] 1. 필요 권한 요청 [info] : - Privacy - Bluetooth Always Usage Description - Privacy - Bluetooth Peripheral Usage Description 2. 필요 import : - import CoreBluetooth - import UIKit ..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명] [소스 코드] import UIKit import AVFoundation import Photos class MainController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. print("") print("===============================") print("[MainController > viewDidLoad() : 뷰 로드 실시]") print("===============================") print..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import UIKit import Network class ViewController: UIViewController { @IBOutlet weak var displayText: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // [네트워크 연결 상태 활성 여부 체크 메소드 호출] checkNetworkStart() } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) print..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] /* [요약 설명] 1. Timer.scheduledTimer : 실시간 반복 작업을 수행할 수 있습니다 2. timeInterval : 반복 주기 시간 설정 3. target: self : 현재 클래스 4. selector : 반복 작업 수행 함수 5. userInfo : 타이머 속 함수에 값 전달 6. repeats : 반복 여부 설정 */ // [전역 변수 선언 실시] var intCount = 1 // [테스트 메인 함수 정의 실시] func testMain(){ print("") print("===============================") print("[Program Start]") print(..