반응형

Swift 18

Apple Push Notification 설정(2)

이전 포스트Front-end(xCode)1. Capability에 push Notification 및 Background Modes 추가위에 이미지를 보면 빨간색 글씨로 순서가 적혀있는데, 해당 순서대로 클릭을 하면 추가를 할 수 있다. Push Notification은 별도의 설정 없이 추가하면 되고, Background Modes를 추가 하면 modes가 여러개있는데, 그 중에서 Remote notifications 옵션을 선택하면 된다.2. App Delegate Code 추가App Delegate에 UNUserNotificationCenterDelegate 프로토콜을 추가한 뒤, 해당 함수들을 App Delegate에 추가한다.UIApplicationDelegatefunc application(_..

Swift 2024.09.01

Apple Push Notification 설정(1)

개요xCode 프로젝트의 환경설정 중에 Capability라는 항목이 존재한다.Capability안에는 애플로 로그인, iCloud, Maps, IAP 등 Apple에서 제공하는 앱 서비스들을 추가하고 사용할 수 있다.Capability안에 있는 서비스 중에는 Apple Developer Program의 멤버인지 여부에 따라 기능이 제한될 수 있는데, Push Notification은 멤버들한테만 제공하는 기능이다.https://developer.apple.com/documentation/xcode/adding-capabilities-to-your-app/ Adding capabilities to your app | Apple Developer DocumentationConfigure your targe..

Swift 2024.08.25

[Swift] Privacy Info

개요최근에 앱을 배포했는데, 처음보는 이슈로 리젝을 먹었다.사실, 예전부터 경고가 날아온 적이 많아서, 알고 있는 이슈이긴 했었는데, 2024년 5월 부터는 해당 이슈가 경고가 아닌 리젝 대상으로 변경되었다. 이 내용은 Privacy manifest file이 없거나 해당 파일에 적절한 내용이 담겨있지 않아서 발생하는 이슈이다. Privacy manifest file은 WWDC2023에서 처음 나온 개념으로 앱에서 수집하는 데이터와 사용하는 API가 왜 필요한지에 대해 기입하는 파일이다.https://developer.apple.com/documentation/bundleresources/privacy_manifest_files Privacy manifest files | Apple Developer D..

Swift 2024.08.18

<Value Type> Set

https://developer.apple.com/documentation/swift/set/ Set | Apple Developer Documentation An unordered collection of unique elements. developer.apple.com Set이란? Set이란 자료구조 중 하나로 배열, 딕셔너리와 같이 Value Type의 구조체이다. Set의 특징은 다음과 같다. 순서가 없는 구조체 let set:Set = [1,2,3,4,5] print(set) // [1, 3, 2, 4, 5] print(set) // [2, 4, 1, 3, 5] Hashable 프로토콜을 준수하는 타입만 사용이 가능하다. 배열에 비해 검색속도가 빠르다. 해시 값을 통해 저장한다. 중복 요소를 포..

Swift 2024.03.03

14. UI Test

UI Test란? UI Test는 User Interface Testing의 약자로 말 그대로 사용자에게 보여지는 화면이 의도한 방향대로 작업흐름이 올바른지 테스트하는 것이다. xCode에서 UI 테스트는 쿼리로 앱의 UI 개체를 찾고 이벤트를 활성화한 다음 해당 개체에 이벤트를 보내는 방식으로 작동한다. API를 사용하면 UI 개체의 속성 및 상태를 검사하여 예상 상태와 비교할 수 있다. UI Test 추가방법 xCode 사이드바에 “Show the test navigator” 버튼을 클릭하면 UI 및 Unit 테스트 목록들이 나타나는 걸 알 수 있는데 하단에 “+” 버튼을 통해 새롭게 추가할 수 있다. UI Test 예제 테스트할 어플의 오른쪽 하단을 보면 “Slide”와 “Type” 슬라이더 바가 ..

Swift 2022.12.31

13. Unit Test(3)

[iOS] Unit Test(1) [iOS] Unit Test(2) 저번 포스팅에서는 Unit Test 프로젝트 생성 및 기초 설명 및 동기함수 테스트를 진행해 보았는데, 이번에는 비동기 통신 함수를 테스트하는 과정을 포스팅할 예정이다. 전체 코드 import XCTest @testable import UnitTestExample class UnitTextExampleSlow: XCTestCase { var sut: URLSession! let networkMonitor = NetworkMonitor.shared override func setUpWithError() throws { try super.setUpWithError() sut = URLSession(configuration: .default)..

Swift 2022.12.23

12. Unit Test(2)

이전 포스팅 11. Unit Test(1) Unit Test란? 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차이다. 즉, 모든 함수와 메서드에 대한 테스트 케이스를 작성하 daesiker.tistory.com 개요 저번 포스팅에서는 유닛테스트가 무엇인지와 어떻게 설정하는지에 대해 포스팅하였는데, 이번에는 간단한 예제를 통해 직접 Unit Test를 해볼 예정이다. 예제는 Ray Wenderlich의 강의에 있는 내용을 가져와서 사용할 것이고, 해당 예제 링크는 아래에서 확인이 가능하다. iOS Unit Testing and UI Testing Tutorial iOS Unit Testing and UI Testing Tutori..

Swift 2022.12.16

11. Unit Test(1)

Unit Test란? 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차이다. 즉, 모든 함수와 메서드에 대한 테스트 케이스를 작성하는 절차를 말한다. 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 해준다. 유닛 테스트는 일반적인 테스트와 달리 개발자뿐만 아니라 보다 더 심도있는 테스트를 위해 테스터에 의해 수행되기도 한다. 좋은 Unit Test의 조건 Fast : 테스트는 빠르게 동작해야 한다. Independent/Isolated : 테스트는 서로의 상태를 공유하지 않고 독립적으로 이루어져야 한다. Repeatable : 테스트를 실행할 때 마다 동일한 결과를 얻..

Swift 2022.12.09

10. 멀티 스레딩과 GCD

멀티스레딩이란? Multi Threading이란 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행능력을 향상시키는 것을 멀티 스레딩이라고 한다. 하나의 프로그램에 동시에 여러개의 일을 수행할 수 있도록 해주는 것이다. 멀티 프로세스와 멀티 스레드의 차이점은 메모리 영역의 자원을 어떻게 공유하는지에 차이점이 있는데, 멀티 프로세스는 데이터 영역, 힙 영역, 스택 영역 모두를 비공유하지만, 멀티 쓰레드는 메모리 영역 중 스택 영역만 자원을 공유하지 않는다. 멀티 스레딩의 장점 프로세스의 생성은 많은 시간과 자원을 소비하는데 이 시간을 단축시킨 스레드를 만듦으로써, 시간 소비를 줄였다. 데이터 영역과 힙 영역을 공유함으로써, 컨텍스트 스위칭을 할 때 ..

Swift 2022.12.04

9. 프로세스와 스레드

9-1. 프로세스(Process) 정의 : 운영체제로부터 시스템 자원을 할당받는 작업의 단위 프로세스는 프로세스 각각의 독립된 메모리를 할당받는다. 독립된 메모리 영역이기 때문에 프로세스끼리 서로의 변수에 접근을 할 수 없다. 멀티 프로세스(Multi-Process) 정의 : 하나의 프로그램을 여러개의 프로세스로 구성하여 각 프로세스마다 하나의 작업씩 처리하는 방법 장점 서로 다른 프로세스가 독립된 메모리 영역을 할당받기 때문에 서로의 자원에 침투할 수 없음 침투할 수 없으므로 안정성이 높음 단점 독림된 메모리를 가지고 있기 때문에 프로세스간 자원 공유가 어렵다. 실행하는 프로세스가 바뀔때마다 Context Switching이 발생하여 CPU의 부담도 커지고 오버헤드가 발생하게 된다. ✽ Context ..

Swift 2022.08.25
반응형