목록Swift (663)
투케이2K
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] =============================== // [자바스크립트 >> iOS 함수 호출] =============================== // [일반 함수 호출 : system] window.webkit.messageHandlers.system.postMessage(''); // [데이터 전송 함수 호출 : system] var str = "hello" window.webkit.messageHandlers.system.postMessage(str); // [json 전송 함수 호출 : system] var jsonObj = {"idx":1, "name":"twok"}; window.webkit.me..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [string to data 형변환] let data = "hello".data(using: .utf8)! // [data to string 형변환] String(decoding: data, as: UTF8.self)
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [hex string to byte array] func hexStringToData(string: String) -> Data { let stringArray = Array(string) var data: Data = Data() for i in stride(from: 0, to: string.count, by: 2) { let pair: String = String(stringArray[i]) + String(stringArray[i+1]) if let byteNum = UInt8(pair, radix: 16) { let byte = Data([byteNum]) data.append(byte)..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명]
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명]
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명]
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명]
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [가로 배치 방법 설명] [가로 , 세로 배치 방법 설명]
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import Foundation // MARK: - [필요 헤더 브릿지 : #import ] struct C_AES256 { // MARK: - [클래스 설명] /* 1. AES256 암호화 수행 파생 클래스 2. 추가하는 값 KEY, IV, SALT 값 3. CBC : 블록 암호화 운영 모드 중 보안 성이 제일 높은 암호화 방법으로 가장 많이 사용 (IV 사용) 4. PKCS 5 : 8 바이트 패딩 (데이터 길이가 모자라다면 8 바이트까지 마지막 값 기준 채우고, 8 바이트 이상인 경우 뒤에 8바이트 패딩 추가) 5. PKCS 7 : 16 바이트 패딩 (데이터 길이가 모자라다면 16 바이트까지 마지막 값 기준 채우..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import Foundation import UIKit import SafariServices // MARK: - [클래스 설명] /* 1. Extension 관련 정의 파일 */ // MARK: - [extension 정의 실시 : 뷰 컨트롤러] extension UIViewController { // MARK: [팝업창 호출 처리 메소드] func showAlert(type:Int, tittle:String, content:String, okBtb:String, noBtn:String) { // [메인 큐에서 비동기 방식 실행 : UI 동작 실시] DispatchQueue.main.async { print("")..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [필요 import 부분] // import Network // MARK: - [현재 연결된 네트워크 상태 확인 메소드] let monitor = NWPathMonitor() static var checkNetworkValue = false func getWhatOfNetwork() -> Bool { self.monitor.start(queue: DispatchQueue.global()) // [세마포어 선언 : 프로그램 로직을 동기화 구현] let semaphore = DispatchSemaphore(value: 0) // [value 0 값은 대기 상태 선언] self.monitor.pathU..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [테스트 메인 함수] func testMain() { print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") // 딕셔너리 변수 선언 실시 var Dic : Dictionary = ["name":"twok" , "age":28] // 반복문을 돌면서 key, value 확인 실시 for key in Dic.keys { print("") print("======================..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [필요 설정] [소스 코드 : SceneDelegate] import UIKit import SafariServices class SceneDelegate: UIResponder, UIWindowSceneDelegate { // [윈도우 객체 전역 변수] var window: UIWindow? // [shortCut 아이템 확인 전역 변수] var savedShortCutItem: UIApplicationShortcutItem! // [shortCut type 정의] let googleWebsiteShortcutId = "googleWebsiteShortcutId" func scene(_ scene: UIScene, wil..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [필요 설정] [소스 코드] // MARK: - [테스트 메인 메소드] func testMain() { /* [요약 설명] 1. 세마포어를 사용해서 네트워크 통신 프로그램 로직을 동기식으로 구현할 수 있습니다 2. 세마포어 0 값을 사용 시 통신 대기 상태를 의미합니다 3. 동기식 통신 : 네트워크 통신 결과 값을 확인 후 순차적으로 하위 로직을 수행합니다 */ let checkDic : Dictionary = requestSyncGetHttp() print("") print("===============================") print("[A_Main >> testMain() :: http 동기 get 요청 확인]..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [필요 설정] [소스 코드] import UIKit import CoreLocation import CoreBluetooth class ViewController: UIViewController , CBPeripheralManagerDelegate { // MARK: - [클래스 설명] /* 1. 블루투스 신호 활성 및 블루투스 신호 활성 종료 실시 2. 블루투스 신호 활성 시 블루투스 신호를 스캔할 수 있는 장비 목록에 표시됩니다 (안드로이드 폰 및 기타 하드웨어에서 확인 가능) */ // MARK: - [블루투스 신호 활성 필요 변수 정의] var centralManager: CBCentralManager! // [블루투스..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [테스트 메인 함수 정의 실시] func testMain() { print("") print("===============================") print("[testMain : Program Start]") print("===============================") print("") // 딕셔너리 데이터 생성 실시 let Dic : Dictionary = ["MSC":"1","SSID":"2"] let Dic2 : Dictionary = ["MSC":"1","SSID":"2"] let Dic3 : Dictionary = ["MSC":"2","SSID":"3"] print("") pri..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [테스트 메인 함수 정의 실시] func testMain() { print("") print("===============================") print("[testMain : Program Start]") print("===============================") print("") // MARK: - [jsonArray - jsonObject 형식 데이터 생성] var _array: Array = [] // 배열 선언 for i in stride(from: 1, through: 3, by: 1) { // 데이터 삽입 실시 // 딕셔너리 사용해 jsonObject 생성 let _dic..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [자바스크립트 >> IOS :: open 경로 호출 :: 데이터 null] window.webkit.messageHandlers.open.postMessage({}); // [자바스크립트 >> IOS :: close 경로 호출 :: 데이터 전송] window.webkit.messageHandlers.close.postMessage("send"); // [IOS >> 자바스크립트 :: [웹 코드] function receive_Open() {}] self.mainWebView!.evaluateJavaScript("receive_Open('')", completionHandler: nil) // [IOS >> 자바..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드 : ExtensionUtil] import Foundation extension String { // [정규식 수행 실시 : 사용 방법 : let changeData = strData.matchString(_string: strData)] func matchString (_string : String) -> String { // 문자열 변경 실시 let strArr = Array(_string) // 문자열 한글자씩 확인을 위해 배열에 담는다 let pattern = "^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]$" // 정규식 : 한글, 영어, 숫자만 허용 (공백, 특수문자 제거) //let pattern = "^[ㄱ-ㅎㅏ-..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [로딩 프로그레스 시작 수행] var progressView : UIProgressView! var progressAlert : UIAlertController! func progressWaitStart(){ // [메인 큐에서 비동기 방식 실행 : UI 동작 실시] DispatchQueue.main.async { print("") print("===============================") print("[A_Main >> progressWaitStart() :: 로딩 프로그레스 호출 실시]") print("===============================") print("")..