일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- swift documentation
- Clean Code
- combine
- collectionview
- uitableview
- 애니메이션
- SWIFT
- swiftUI
- 스위프트
- Xcode
- UICollectionView
- 클린 코드
- tableView
- MVVM
- Protocol
- 리펙터링
- UITextView
- Refactoring
- 리펙토링
- HIG
- Human interface guide
- RxCocoa
- ribs
- map
- clean architecture
- Observable
- ios
- 리팩토링
- uiscrollview
- rxswift
- Today
- Total
목록iOS 응용 (swift) (722)
김종권의 iOS 앱 개발 알아가기
1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult)3. xcodebuild로 테스트 돌리기 - xcresult 파일 변환하여 분석하기 (xcrun xcresulttool, xcpretty, junit)xcodebuild로 유닛 테스트 돌리기지난번 글에서 아래처럼 xcodebuild test [options]으로 빌드가 가능이렇게 유닛테스트를 실행하면 결과도 가져올 수 있는데, 이 결과를 통해 유닛 테스트가 잘 되었는지 분석도 가능xcodebuild test -scheme -destination 'platform=iOS Simulator,name=iPhone 15'결과 가..
1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult, junit, xml)3. xcodebuild로 테스트 돌리기 - xcresult 파일 변환하여 분석하기 (xcrun xcresulttool, xcpretty, junit)xcodebuild란?커멘드 라인으로 build, query, analyze, test, archive할 수 있는 라이브러리Xcode는 GUI 방식인 반면, xcodebuild는 커멘드 라인 방식xcodebuild를 잘 사용하면 CI/CD에서도 빌드를 돌릴 수 있고 활용하면 프로젝트 구조 파악이 용이xcodebuild 기능 살펴보기xcodebuild를 통..
* 이 포스팅 글에서는 구현 방법을 다루고, 개념에 대한 내용은 이전 포스팅 글 참고(포스팅 내용은 WWDC2022 Message Filter app extension 내용을 기반으로 작성)Message Filter app extension 구현 방법Message Filter Extension 추가타겟이 생성되면 MessageFilterExtension.swift가 자동 생성(iOS 16에는 함수 첫번째 파라미터로 capabilitiesRequest가 생성되어 있음)transactionalSubActions에 보면 금융, 주문, 헬스(광고)에 관한 작업을 지원위 extension을 생성한 앱 이름이 Test SMS Filter일 때, iOS 메시지 앱에서 필터링 설정을 보면 그 앱이 보이고, 위에서 정이..
SMS message filters 란?알 수 없는 발신자로부터 메시지를 받았을 때, 메시지를 가로채어, 메시지가 어떤 유형인지 분류해줄 수 있는 것"SMS Filter"라는 앱을 만들었을때, 여기에 SMS message filters 기능을 넣으면 iOS 메시지 앱에서 필터링 방법 리스트 중 노출됨응용하여 스미싱 보안 앱에서 이 기능을 적용해놓고, 스미싱 문자가 왔을 때 이 문자가 사기라는 것을 push 알림으로 보내줄 수 있음참고) iOS는 알 수 없는 사람이 보낸 메시지를 필터링하는 옵션을 메시지 iOS 앱에서 제공은 하고 있음iOS 16에서 향상된 기능iOS 16부터는 메시지를 12개의 하위 범주로 분류가 가능메시지 필터 처리하는 과정"SMS Filter"라는 앱에 Message Filter a..
Xcode에서 시뮬레이터가 보이지 않을 때Xcode에서 다른 버전 혹은 다른 시뮬레이터를 설치했는데, 목록에 보이지 않는 경우가 존재기기 보이게 하는 방법디바이스의 iOS버전에 맞게 Minimum Deployments가 낮게 설정되었는지 확인Minimum Deployments을 iOS 17에서 iOS 14로 낮추니 여러가지 디바이스가 등장하지만 아직 원하는 iPhone SE1기기가 보이지 않음"Manage Run Destinations..." 클릭시뮬레이터 탭에도 iPhone SE1이 보이지 않음+ 버튼을 눌러서 추가만약 아래처럼 "could not create iPhone SE..."가 나오면 시뮬레이터를 설치해야함시뮬레이터 설치 방법"CMD + ," 단축키 > Platforms 탭 클릭 > 좌측 하단..
문자열 bullet 기준 들여쓰기 UIbullet기준으로 텍스트들이 들여쓰기 되어있는 UI폰트가 큰 경우에도 들여쓰기 기준 동일)let text = """• 첫 번째 텍스트 이빈다. 이것은 bullet 테스트, 과연 긴 텍스트가 있을 때 indent가 어떻게 적용될 것인가 테스트 해봅니다. iOS 앱 블로그 알아가기 jake에서 살펴봅니다.• 두 번째 텍스트 입니다."""문자열 bullet 기준 들여쓰기 구현 아이디어뷰와 UILabel 준비import UIKitclass ViewController: UIViewController { private let label = { let l = UILabel() l.font = .systemFont(ofSize: 30) ..
UITableView 데이터 추가하기UITableView에서 스크롤하면서 동시에 아래에 데이터를 계속해서 추가해주어야하는 페이지네이션 UI가 존재페이지네이션 UI 구현 방법은 이전 포스팅 글 참고 [iOS - swift] UITableView 하단 로딩 구현 방법 (#페이지네이션, footer loading, UIActivityIndicatorView)하단 로딩 구현 아이디어1단계) Pagination: tableView의 willDisplay 델리게이트에서 마지막 인덱스 값인지 체크하고, 마지막 인덱스 값이면 페이지네이션 구현2단계) 하단로딩: willDisplay에서 페이지네이ios-development.tistory.comex) 페이징 관련 코드마지막 셀이 보여질 때 로딩 뷰, footerView를..
struct, class 메모리 저장 위치strucrt는 보통 메모리에서 stack영역에, class는 heap영역이 저장되는데, 아래처럼 struct안에 class 타입이 있을때 이것은 어디에 저장될 것인가?class SomeClass { var value: Int init(value: Int) { self.value = value }}struct SomeStruct { var classInstance: SomeClass var otherValue: Int}결론은 SomeStruct는 stack영역에 저장되고, SomeStruct의 class타입인 프로퍼티 classInstance는 heap영역에 저장됨메모리 위치 알아내기swift에서 heap과 stack영역의 ..