일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 정보관리기술사
- #colorLiteral
- VirtualBox
- Homomorphic Encryption
- 애플인텔리전스
- Xcode
- BindableObject
- pipelines
- apple intelligence
- Security as a Service
- ObObjective c
- error outputting keys and certificates
- swift
- php
- 앱 인텐트
- EnvironmentObject
- ObservableObject
- URLSessionConfiguration
- HTTP
- colorLiteral
- AI
- provisioning file path
- URLSession
- MAC
- Data Flow Through SwiftUI
- IOS
- 동형 암호
- SwiftUI
- apache
- app intents
- Today
- Total
목록Developer/iOS (8)
Project Jo
1. 서론AI는 최근 빠르게 발전하며 우리 일상의 중심 기술로 자리 잡고 있습니다. 이 중에서도 대규모 언어 모델(LLM)과 온 디바이스 AI는 두 가지 대표적인 방식으로, 각각의 고유한 특성을 가지고 있습니다.대규모 언어 모델, 예를 들어 ChatGPT는 클라우드 기반으로 방대한 데이터를 학습하여 광범위한 질문에 대응할 수 있는 능력을 갖추고 있습니다. 그러나 이 모델은 서버와의 실시간 연동이 필수적이며, 따라서 인터넷 연결이 요구됩니다. 반면, 온 디바이스 AI는 사용자 기기 내에서 직접 데이터를 처리하기 때문에 빠른 응답 속도와 더 나은 개인정보 보호를 제공합니다.휴대폰 제조사들이 온 디바이스 AI에 집중하는 이유는 두 가지로 요약할 수 있습니다. 첫째, 데이터를 클라우드로 전송하지 않음으로써 개인..
cocoapods를 이용해 빌드 환경을 설정하면 매 패키지 마다 모든 소스를 빌드해서 속도가 느려진다. 그럼 중간 빌드 과정을 저장해서 재사용하면 속도가 당연히 빨라질 것이라 생각하고 검색해본 결과 cocoapods-binary-cache 를 알게 되었다. 결과부터 말하자면 내가 관리하는 프로젝트에서는 적용이 불가능 하였고, 속도 또한 큰 변화가 없어 도입을 진행하지는 못하였다. 하지만 잘 적용하고 관리가 가능하다면 좋은 방법이 될것 같아 이곳에 정리해 둔다. (다른 분은 성공하세요...) 1. bundle 를 이용해 환경을 설정한다. 1.1. bundle 초기화 bundle init 1.2. Gemfile 설정 source 'https://rubygems.org' gem "cocoapods" gem "..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pJM4i/btrpWyFuAli/L40Cu9cXxzjBdAATAELI2K/img.png)
MVVM (Model + View + ViewModel) Model - 네트워크 통신, DB 등 데이터 덩어리 View Model - Model 로 부터 가져온 데이터를 View 에 적합한 형태의 데이터로 가공 한다. - ViewModel 이 변경될 때마다 해당 ViewModel 과 관련된 View 화면이 자동으로 반영된다. View(Storyboard/xib + ViewController) - 뷰의 레이아웃과 생명주기를 담당한다. * 1개의 View 에는 1개의 ViewModel 이 존재하게 된다. 이상적인 구현 방법 - SwiftUI 를 이용 - RxSwift 를 이용 지금 문제점 하지만 기존 MVC 패턴 프로젝트에서 잘 운용하지 못하는 RxSwift 를 사용하기에는 부담이 있다. 또한, SwiftU..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/kYXtx/btqGU1xIj2N/fIDktr5wMTrsWmdJxQJ8Q0/img.png)
UIAlertController 를 사용하게 되면서 UIAlertView 와는 다르게 어러개의 팝업이 중첩되어 표시되지 않는 상황을 확인하였다. 따라서 윈도우 1개에 UIAlertController 1개를 표시하여 여러개의 UIAlertController 를 표시가 가능하게 하는 방법이 좋아보여 정리하였다. 단, 해당 방법은 윈도우에 추가 하기 때문에 최근에 나온 Scene 을 이용하는 앱에는 사용이 불가능하다. ObObjective c - (void)showAlert { __block UIWindow *alertWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; alertWindow.rootViewController = [[U..
iOS 에서 MDM (Mobile Device Managerment) 을 구현하기 위해서는 Apple 의 APNS 시스템을 이용해야 한다.또한, 프로파일 인증 등을 위해서는 SCEP(Simple Certificate Enrollment Protocol) 가 구현된 서버가 필요로 한다.각설하고, 일단 1번째 관문인 iOS MDM Push 등록을 진행 해 보자.먼저 MDM 인증서를 발급 받아야 하는데, 받기 위해서는 Apple Enterprise 로 계정이 등록 되어 있어야 한다.Enterprise 계정 이라면 아래와 같이 인증서 발급이 가능하도록 추가가 되어 있다. 이 화면에서 발급은 우리는 익숙하지 않은가? 평소와 같이 쭈욱 발급을 진행 한다.여기서 주의할 부분이 있는데, 인증을 위해 Apple 서버에 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uV668/btsHEx94nGa/TQGzSSQyMr0Fz6fgUxhuI0/img.png)
계속 잘 쓰다가 드디어 생각이 나서 수정해 봅니다...(2015년에 글을 올리고 2020년에 스샷을 추가하다니.. 이미 P8 인증서로 만료일 없이 푸시를 쓰는 세상에... 참... )(무슨 소리! 2024년에도 잘 쓰고 있는데 인증서 설정에 변경사항이 있어 수정한다.) 1. 키체인을 실행시키고 푸시 인증서의 화살표를 선택하여 위에 있는 인증서와 개인키를 모두 "apns-dev-cert" 이름으로 내보냅니다. (암호를 기억해 두세요.) 2. 이제 아래에 있는 Key 를 "apns-dev-key" 이름으로 내보냅니다. (암호를 기억해 두세요.) 3. 이제 터미널을 실행시키고 인증서가 있는 폴더에서 아래의 명령어를 실행 합니다. (중간중간 PW 입력을 요구하지 천천히 진행하세요.)* 이전 명령어로 진행시 "E..
가끔 모바일용 페이지의 소스를 보고 싶을때 사용하면 좋다. >ㅁ