목록Swift (675)
투케이2K
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // // testCode3-Bridging-Header.h // testCode3 // // Created by 601559965 on 2022/03/25. // // ----------------------------------------- #ifndef testCode3_Bridging_Header_h #define testCode3_Bridging_Header_h // ----------------------------------------- // [import 헤더 파일 추가 실시 : AES 암호화 알고리즘 필요 헤더 파일] #import // -----------------------------------..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [방법 설명]
[설 명] 프로그램 : Ios / Swift 설 명 : 프리퍼런스 관리 클래스 [소스 코드] import Foundation class S_Preference { // MARK: - [클래스 설명] /* // ----------------------------------------- 1. UserDefaults 사용해 모바일 데이터 저장 클래스 // ----------------------------------------- 2. UserDefaults : Key-Value 형태를 저장 // ----------------------------------------- 3. UserDefaults : 앱이 종료되어도 값이 저장되지만, 앱이 삭제되면 저장된 데이터가 사라짐 // --------------..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [모바일 앱 이름 정보 확인] func getMobileName() -> String { // [초기 변수 선언 실시] var appName = "" if let infomation = Bundle.main.infoDictionary { if let Name = infomation["CFBundleDisplayName"] as? String { appName = Name } } print("") print("===============================") print("[C_Util >> getMobileName() :: 모바일 앱 이름 정보 확인]") print("appName :: ..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [모바일 버전 코드 확인] func getMobileCode() -> String { // [초기 변수 선언 실시] var appBuildVersion = "" if let infomation = Bundle.main.infoDictionary { if let BuildVersion = infomation["CFBundleVersion"] as? String { appBuildVersion = BuildVersion } } print("") print("===============================") print("[C_Util >> getMobileCode() :: 모바일 버전 코드 ..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [모바일 번들 ID 패키지명 확인] func getMobilePackageName() -> String { // [초기 변수 선언 실시] var appBundleIdentifier = "" if let infomation = Bundle.main.infoDictionary { if let BundleIdentifier = infomation["CFBundleIdentifier"] as? String { appBundleIdentifier = BundleIdentifier } } print("") print("===============================") print("[C_Util >..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 필요 설정] [소스 코드] import UIKit // MARK: [import 추가 실시] import AVFoundation import Photos class A_Image: UIViewController { // MARK: [클래스 설명] /* 1. A_Image : 카메라, 앨범 접근 클래스 2. info.plist 권한 등록 필요 : - Privacy - Camera Usage Description - Privacy - Photo Library Usage Description - Privacy - Access to a File Provide Domain Usage Description - Privacy - M..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [URL Session Get 사진 데이터 다운로드] func requestGet() { // MARK: [http 통신 수행 필요 info plist 권한] // MARK: [App Transport Security Settings >> Allow Arbitrary Loads >> YES] // [URL 지정 및 파라미터 값 지정 실시] var urlComponents = URLComponents(string: "https://smart.test.ac.kr/profile_image?") let paramQuery_1 = URLQueryItem(name: "u", value: "12345678")..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /*[설 명] * 1. UUID 객체를 사용해서 고유값을 생성할 수 있습니다 * 2. UUID 는 36개 문자(32개 문자와 4개의 하이픈)으로 구성되어 있습니ㄷ */ // [UUID 객체를 사용해 고유값 생성 실시] var uuidData = UUID().uuidString // [결과 출력 실시] prin..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func requestPOST() { // [URL 지정 및 파라미터 값 지정 실시] var urlComponents = URLComponents(string: "https://test.com/user?") let paramQuery_1 = URLQueryItem(name: "userId", value: "1") let paramQuery_2 = URLQueryItem(name: "id", value: "1") urlComponents?.queryItems?.append(paramQuery_1) // 파라미터 지정 urlComponents?.queryItems?.append(paramQuery_2) // 파라미터 지정 ..
[로직 정리] 정리 로직 : MOBILE (IOS) 상태 : [IOS] WkWebview 웹뷰 COOKIE 쿠키 공유 [설 명] [IOS] 1. 웹뷰 웹뷰 초기 설정 셋팅 수행 실시 및 로드 하기 (전) 웹뷰 헤더 쪽에 쿠키 삽입 , 웹뷰 로드 수행 실시 - 쿠키 추가 셋팅 위함 : 웹뷰 WKWebViewConfiguration.websiteDataStore 설정을 >> WKWebsiteDataStore.nonPersistent() 로 설정 - 헤더 쪽 쿠키 삽입 실시 : URLRequest.addValue("데이터", forHTTPHeaderField: "Cookie") - 웹뷰 로드 실시 : webview.load(request) 2. 웹뷰 로드 완료 상태 100 프로가 되면 다시 webvie..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 설정 필요] [ViewController] import UIKit class ViewController: UIViewController { // MARK: [뷰 메모리 로드 수행 실시] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. print("") print("===============================") print("[ViewController >> viewDidLoad() :: 뷰 메모리 로드 실시]") print("=============================..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [참고 사이트] https://fomaios.tistory.com/entry/iOS-TestFlight-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%B4%88%EB%8C%80%ED%95%98%EA%B8%B0 [iOS] TestFlight 테스트 사용자 초대하기 안녕하세요 Foma👟 입니다. 지난 글에서 테스트 플라이트를 어떻게 배포하는지에 대해서 알아보았는데요. 테스트 플라이트 심사를 거치고 한 몇시간 뒤? 테스트가 통과되었습니다. 그래서 오늘 fomaios.tistory.com
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 설정] [소스 코드] import UIKit // MARK: [import 추가 실시] import AVFoundation import Photos class A_Image: UIViewController { // MARK: [클래스 설명] /* 1. A_Image : 카메라, 앨범 접근 클래스 2. info.plist 권한 등록 필요 : - Privacy - Camera Usage Description - Privacy - Photo Library Usage Description - Privacy - Access to a File Provide Domain Usage Description - Privacy - ..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* [요약 설명] 1. joined(separator:) : 배열의 문자열들을 하나로 연결한 문자열을 반환합니다 2. 문법 : array.joined(separator:"결합문자") */ // [초기 배열 선언 실시] var strArray : Array = [] // 문자열 배열 // [배열에 데이터 삽입..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* [요약 설명] 1. sublist : 배열에서 시작 번지 ~ 종료 번지 까지 특정 범위를 지정해서 출력할 수 있습니다 2. 배열 인덱스 번지는 0 번 부터 시작합니다 3. strArray[0 ..< 2] : 0 , 1 번 인덱스까지 데이터를 출력합니다 */ // [초기 배열 선언 실시] var strAr..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 설정] [소스 코드] import UIKit // MARK: [import 추가 실시] import AVFoundation import Photos class A_Image: UIViewController { // MARK: [클래스 설명] /* 1. A_Image : 카메라, 앨범 접근 클래스 2. info.plist 권한 등록 필요 : - Privacy - Camera Usage Description - Privacy - Photo Library Usage Description - Privacy - Access to a File Provide Domain Usage Description - Privacy - Mi..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // -------------------- // [SEARCH FAST] : [ios 버전 분기 처리] if #available(iOS 13.0, *) { // [스토리보드 사용 : present 방식 : A_MainVC = 스토리보드 아이디 지정 / as = 컨트롤러 지정] guard let A_MainVC = self.storyboard?.instantiateViewController(identifier:"A_MainVC") as? A_Main else { return } A_MainVC.modalPresentationStyle = .fullScreen // 전체화면 (기본은 팝업형태) self.present(A_M..
[개발 환경 설정] 개발 툴 : 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..
[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* [요약 설명] 1. split , components 를 사용해서 특정 문자 기준으로 데이터를 분리해 배열에 삽입합니다 2. split : Array 형태 데이터를 가집니다 3. components : Array 형태 데이터를 가집니다 */ // [초기 데이터 선언 실시] let strData = "he..