B2B에서는 꽤나 유용하게 쓸 수 있을 것 같아 공유드립니다. 알아본 바로 앱 내에서 인증서의 만료일을 가져올 수 있는 API는 존재하지 않습니다. 그렇기에 빌드 시 생성되는 embedded.mobileprovision 파일을 이용해서 만료일을 가져와 보겠습니다. 코드만으로 앱에서 만료일을 조회할 수도 있지만, 원리를 설명드리기 위해 아카이브를 통해 진행해보도록 하겠습니다. 바로 코드에 적용하실 분들은 1~3번은 건너뛰어도 무방합니다. 1. ipa 준비 앱을 아카이브하여 ipa 파일을 준비해줍니다. 2. ipa unzip unzip -q TEST.ipa 터미널에서 해당 경로로 이동 후 ipa 파일을 unzip 해주도록 합니다. 그러면 Palyoad 폴더안에 *.app 파일이 생겼을거에요 마우스 우클릭 후..
1. 개요ios-deployXcodeTestFlight 혹은 AppStoreDropbox별도 서버 구축 아이폰에서 ipa 설치를 위한 방법은 크게 5가지 정도로 나눌 수 있습니다.in-house 앱을 불특정 다수에게 배포가 필요한 상황이라면 4번 혹은 5번 방식을 사용할 수 있습니다. 오늘은 그 중 5번 방법을 활용해 ipa 파일을 배포하는 방법에 대해 알아보도록 하겠습니다.2. 서버 준비2-1. apache httpd사용자가 접속할 수 있는 웹 서버를 열어주도록 합니다.2021.10.22 - [OS/Mac] - [Mac] apache httpd로 웹 서버 구동하기 [Mac] apache httpd로 웹 서버 구동하기1. brew 설치 2021.10.13 - [OS/MacOS] - [MacOS] Home..
1. 들어가기 전에 GCD를 공부하기 전에 우리는 Queue라는 자료구조를 알고있습니다. 먼저 들어온 놈이 먼저 처리된다.. 라는건데 매표소에 줄을 서서 티켓을 산다고 생각하시면 편합니다. 이걸 먼저 얘기하는 이유는 앞으로의 내용이 큐와 연관되어있기 때문입니다! 2. GCD와 Dispatch Queue GCD(Grand Central Dispatch)는 스레드에 대한 관리를 개발자가 아닌 OS에서 처리할 수 있도록 애플에서 개발한 것 입니다. GCD에선 Dispatch Queue를 통해 작업을 관리합니다. Dispatch Queue에는 크게 두 종류로 나뉘는데 아래에서 조금 더 살펴볼게요. 2-1. Serial Queue - Main Queue(main) Serial Queue 등록된 작업을 순차적으로 ..
오늘은 macOS에서 iPhone 미러링 하는 방법에 대해 알아보겠습니다. Android처럼 공유된 화면을 직접 조작하는 등의 방식은 OS 정책상 불가하지만 단순히 미러링 개념으로는 접근 가능합니다. 1. QuickTime Player 앱을 실행시키면 QuickTime Player가 표시될텐데 파일 - 새로운 동영상 녹화로 이동합니다. 그러면 디폴트로 맥북 카메라에 본인 모습이 비칠텐데 너무 당황하지 마시고 녹화 아이콘 우측 버튼을 눌러서 mac과 연결된 폰으로 변경해주면 됩니다. 2. Replica 7일 동안 무료 체험으로 사용할 수 있는데, 7일 이후에도 광고보면서 그냥저냥 사용 가능합니다. ** mac과 폰이 같은 네트워크(와이파이)에 연결되어있어야 합니다 ** 3. TeamViewer 앱스토어에서..
안드로이드에서 apk 파일을 설치하듯 iOS에서도 ipa 파일을 폰에 설치할 수 있습니다. 보통 Xcode에 연결된 단말기로 설치했었는데 터미널로 설치할 수 있는 방법에 대해 공유드립니다. 1. Homebrew, node 설치 npm을 통해 설치해야하기 때문에 node를 먼저 설치해야합니다. node를 설치하기 위해 brew를 설치해야하기 때문에 설치가 안되어있다면 먼저 진행해주세요. 2021.10.13 - [Back-End/Node.js] - [Node.js] Mac에서 Node 개발 환경 구축하기 [Node.js] Mac에서 Node 개발 환경 구축하기 이번 포스팅에서는 macOS에서 node 개발을 위한 환경 구축을 포스팅합니다. 1. Homebrew 설치 2021.10.13 - [MacOS] - ..
안녕하세요 차니에요~~! Swift에서는 앱의 메모리 사용을 관리하기 위해 ARC(Automatic Reference Counting)을 사용합니다. 오늘은 ARC에 대해 알아보도록 하겠습니다. 1. ARC(Automatic Reference Counting) 인스턴스의 참조 횟수를 기준으로 ARC가 알아서 더이상 사용하지 않는 인스턴스를 메모리에서 해지합니다. 참조 횟수는 클래스 타입의 인스턴스에만 적용되고 값 타입인 구조체 열거형 등에는 적용되지 않습니다. 개발 용어는 대부분 한눈에 알수 있을 정도로 네이밍 된 경우가 많습니다. 하나 하나 뜯어보면.. Automatic - 자동적인 Reference - 참조 Counting - 계산 이걸 그럴싸하게 조합을 해보면 "자동 참조 카운팅(계산)" 정도로 해..
안녕하세요~ 차니에요! 오늘은 Swift 언어의 특징 중 하나인 POP에 대해 알아보겠습니다. 1. Protocol Oriented Programming(POP) 탄생 배경 일반적으로 OOP에서 클래스의 상속 개념을 통해 공통 기능들을 모듈화하여 사용할 수 있었으나, 구조체 혹은 열거형의 경우에는 상속이 불가하기에 같은 타입에 대해서 공통적인 기능 구현을 위해서는 다른 방법을 이용해야 합니다. 이를 해결하기 위한 방안이 Apple WWDC15(Swift 2)에서 Extension 발표되었습니다. Protocol(청사진)을 구현하고 Extension으로 해당 프로토콜의 기능을 확장하는 형태로 사용합니다. 이를 프로토콜 초기 구현(Protocol Default Implementation)이라고 표현합니다. ..
안녕하세요~ 차니에요! 오늘은 싱글톤 디자인 패턴에 대해 포스팅하겠습니다. 1. 싱글톤 패턴이란? 애플리케이션이 시작될 때 객체의 인스턴스를 최초 1회만 생성(static)하여 사용하는 디자인 패턴 2. 싱글톤 클래스 생성 방법 class SingletonClass { static let shared = SingletonClass() private init() {} } 스위프트에서는 static let으로 객체의 인스턴스를 할당해주면 끝입니다! 그리고 인스턴스가 추가로 생성되는 것을 방지하기위해 init() 함수의 접근 제어자를 private으로 선언합니다. 3. 싱글톤 사용 예제 class AppInfo { static let shared = AppInfo() private init() {} var m..
안녕하세요~ 차니에요! 오늘은 스위프트의 서브스크립트에 대해 알아보겠습니다. 1. 서브스크립트란? 서브스크립트란 콜렉션, 리스트, 시퀀스 등 집합의 특정 멤버 엘리먼트에 간단하게 접근할 수 있는 문법입니다. 텍스트로 보면 잘 와닿지 않을 텐데 사실 우리는 은연중에 서브스크립트를 사용하고 있었을 지도 모릅니다. var dic = ["강아지": "🐶", "깨구락지": "🐸","판다": "🐼", "꿀벌": "🐝"] print(dic["깨구락지"]) // 🐸 딕셔너리 하나를 생성하였습니다. 타입 추론을 통해 [String : String] 형태이겠죠? 딕셔너리에서 value 값을 추출하기 위해 dic[KEY] 형태로 사용하셨을 텐데요. 이게 서브스크립트입니다. 띠용? 자세한 설명은 아래에서 이어서 해볼게요. 2..
안녕하세요~ 차니에요! 오늘은 스위프트의 클래스와 구조체에 대해 알아볼게요. 1. 클래스와 구조체 클래스와 구조체는 프로그램의 코드를 조직화 하기 위해 일반적으로 사용하며 OOP를 위한 필수 요소입니다. 1-1. 기본 문법 class SomeClass { // 클래스 내용은 여기에 } struct SomeStructure { // 구조체 내용은 여기에 } 위 코드는 클래스와 구조체를 생성하는 기본 문법이며 테스트를 위한 클래스와 구조체를 하나씩 생성하겠습니다. struct BodySize { var height = 0.0 var weight = 0.0 } class Person { var name = "" var age = 0 var body = BodySize() func calcBMI() -> Str..