base64EncodedStringWithOptions 옵션값 NSDataBase64Encoding64CharacterLineLength - 최대 길이를 64자로 설정 NSDataBase64Encoding76CharacterLineLength - 최대 길이를 76자로 설정 NSDataBase64EncodingEndLineWithCarriageReturn - 삽입할 줄 끝부분에 CarriageReturn이 포함되도록 설정 NSDataBase64EncodingEndLineWithLineFeed - 최대 줄길이까지 도달하면 줄바꿈되도록 설정 url : https://developer.apple.com/documentation/foundation/nsdatabase64encodingoptions?language..
LLVM(Low Level Virtual Machine) - 가상기계 bitcode를 만들어내기 때문에 붙여진 이름 간단히 설명하자면 컨파일러 모듈로써 2003년 첫 릴리즈가 되었다. 컴파일러는 보통 소스코드 -> 컴파일 -> 기계어로 구성더 자세히 본다면 Frontend : 어휘분석 , 구문분석 , 의미분석 , 중간코드 생성* 소스코드 파싱 , 에러체크 , 언어에 맞는 Abstract Syntax Tree(AST)생성 Optimizer : 런타임시 성능향상을 위한 중복코드를 제거해주고 기타 여라가지 변환을 실행 Backend : 각 코드를 타겟 아키텍처에 맞는 인스트럭션 셋으로 매핑해 실행코드를 생성 3가지 요소를 나눠실행하지 않고 단일 바이너리에 의해 한번에 실행한다. 비효율성의 개선 , 아키텍처 개..
Swift 2014년 6월 2일 WWDC에서 처음 소개된 애플의 개방형 프로그래밍 언어. 기존의 Objective-C와 함께 공존할 목적으로 만들어졌다. 때문에 Objective-C와 마찬가지로 LLVM으로 빌드되고 같은 런타임을 공유한다. Swift 특징 - C,C++,Objectiv-C,java처럼 정적 바인딩 언어이다.(동적 바인딩언어 : 파이썬,자바스크립트) - 데이터 타입에 대한 구분이 엄격하다. (let은 컴파일전에 미리 선언되어 있어야하며 var는 데이터 타입을 변경할 수 없다.) - 프로젝트 전체가 네임스페이스의 범위로 지정한다. 즉 헤더추가없이 객체의 반입이 가능하다. - 변수는 항상 사용 전에 초기화된다. - 배열 인덱스는 범위를 벗어난 오류가 있는지 검사된다. - 정수의 오버플로우가 ..
환경 OS : macOS High Sierra 10.13.3 Xcode : 9.2(9C40b) 0. Project 생성 iOS App - Ojbective-C로 선택 1. CoreLocation Framework 추가 [Build Phases] - [Link Binary With Libraries]에 CoreLocation.framework를 추가 2. 위치기반허용 기기의 위치정보는 개인정보이기 때문에 반드시 필요하다. 3. Source code ViewController.h #import #import @interface ViewController : UIViewController { IBOutlet UITextView *loclogview; IBOutlet UITextField *corelocatio..
예전에는 NetworkExtension을 개발자 요청에 따로 신청서를 요청해서 복잡하게 운영해왔지만 지금은 개발자에 한하여 오픈(?)했다고 한다. 발표시기는 iOS8부터 였다고하니....(지금 11인데..ㅠ) 환경 OS : macOS High Sierra 10.13.3 Xcode : 9.2(9C40b) NetworkExtension VPN 터널을 구성할 수 있는 프레임워크 Personal VPN NEVPNMAnager API는 iOS와 MacOS환경의 앱에서 개인 VPN을 생성하고 관리 할 수 있는 기능을 제공. Personal VPN구성은 공용 Wi-Fi 네트워크과 같이 안전하지않는 네트워크 환경에서 인터넷 검색 활동을 보호하는 서비스를 사용자에게 제공해주기 위해 사용된다. NEVPNManager (h..