일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWIFT
- rxswift
- map
- combine
- swift documentation
- 애니메이션
- Clean Code
- Human interface guide
- 스위프트
- Observable
- collectionview
- MVVM
- ios
- RxCocoa
- UITextView
- uiscrollview
- 리펙토링
- 리팩토링
- Xcode
- HIG
- tableView
- Protocol
- clean architecture
- 클린 코드
- Refactoring
- UICollectionView
- ribs
- swiftUI
- uitableview
- scrollview
- Today
- Total
목록iOS 응용 (swift) (727)
김종권의 iOS 앱 개발 알아가기
OptionSet 개념OptionSet은 옵션이 있는 Set 자료구조이며, 옵션들을 마치 enum-case처럼 다룰 수 있고 set의 대표적인 연산자 insert, remove, contains, intersection 를 쓸 수 있는 자료구조ex) UserSetting에 관한 플래그를 관리하는 OptionSetstruct UserSettingsFlags: OptionSet { let rawValue: Int static let darkMode = UserSettingsFlags(rawValue: 1 OptionSet에서 rawValue를 bit로 표현하는 이유?일반적으로 OptionSete에서는 rawValue를 보면 모두 shift연산자를 통해 표현stat..

네비게이션 블러 효과구현 아이디어먼저 navigationBar를 투명하게하고(isTranslucent = true), 색상을 clear로 설정네비게이션바에 addSubview하여 blur 뷰를 삽입blur뷰는 UIBlurEffect와 UIVisualEffectView를 사용하면 편하게 블러효과를 줄 수 있음구현 방법먼저 navigationBar를 투명하게하고(isTranslucent = true), 색상을 clear로 설정UINavigationBar.appearance().setBackgroundImage(UIImage(), for: UIBarMetrics.default)UINavigationBar.appearance().shadowImage = UIImage()UINavigationBar.appeara..

붙여넣기 권한 팝업iOS 16.0부터 OS에서 제공개발자가 UIPasteboard.general.string과 같이 복사된 텍스트를 불러올 때 팝업이 등장팝업이 나오는 이유: 사용자 동의 없이 복사된 텍스트에 접근하지 못하도록 하기 위함단, TextField에서 long press하여 붙여넣기 할때는, 암묵적으로 사용자가 동의한 것으로 간주하기 때문에 위 팝업이 등장 x아래에서 살펴볼 설정 앱에서 붙여넣기 권한을 거부 할 수 있는데, 거부하더라도 사용자가 long press하여 붙여넣기하는 것은 허용됨팝업 옵션에 따른 동작붙여넣기 허용 안 함 -> UIPasteboard.general.string 값이 nil붙여넣기 허용 -> UIPasteboard.general.string으로 pasteboard에 복..

문자열에 이미지 넣는 방법NSTextAttachment 사용NSAttributedString에 attachment를 가지고 초기화할 수 있는데, 이 때 attachemnt에 이미지를 넣어서 이 것을 사용하면 텍스트에 붙이기가 가능1. NSTextAttachment에 image, 크기를 입력2. NSAttributedString에 위 attachment를 가지고 초기화3. 위 NSAttributedString을 또 다른 문자열로 구성된 NSAttributedString에 append하면 합치기직접 구현해보기1. NSTextAttachment에 image, 크기를 입력height를 50으로할때 이 비율을 기준으로 width도 정해지게끔 처리let imageAttachment = NSTextAttachmen..

1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult)3. xcodebuild로 테스트 돌리기 - xcresult 파일 변환하여 분석하기 (xcrun xcresulttool, xcpretty, junit)1. xcresulttool를 사용하여 변환: xcresult -> json.xcresult는 범용적인 포멧이 아니므로 json으로 변환을 하면 ci와 같은 여러곳에서 사용이 가능xcrun xcresulttool을 사용xcrun xcresulttool get --path "TestResults.xcresult" --format jsonjson으로 보면 key-value 쌍으로..

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 메시지 앱에서 필터링 설정을 보면 그 앱이 보이고, 위에서 정이..