일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Storyboard
- androidstudio
- UIButton
- TableView
- modal
- 개발
- ios
- alamofire
- Chart
- 그래프
- cocoapods
- ui
- Android
- library
- Python
- 라이브러리
- PyQt
- Swift
- charts
- UIKit
- Xcode
- button
- kotlin
- PyQt5
- Apple
- Chrats
- graph
- 어플리케이션
- 개발자
- UITableView
- Today
- Total
목록iOS Dev/iOS (43)
Jiwift
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b8c0UC/btsyV2qulyq/gK7H4Nj4em2ZrWjxKXhvrk/img.png)
[iOS] 아이폰 사파리(Safari) 동작 안 할 때 혹은 결제, 본인인증 창 안 뜰 때 아이폰을 사용하다 보면 혹은 웹을 개발하다 보면 Safari에서 원하는 동작을 하지 않을 수 있습니다. 버튼이 안 눌러지거나, 결제 화면이 안 뜨거나 본인인증이 안 뜨거나와 같은 상황입니다. 이런 경우 정말 버그일 수 있지만 우선적으로 설정을 먼저 확인해봐야 합니다. 아이폰 설정 -> 고급 -> JavaScript 위 설정이 어떻게 되어있느냐에 따라서 웹이 동작하거나 안 할 수 있습니다. 이미 활성화되어있는 경우 다른 문제가 있을 수 있지만, 비활성화 상태라면 상태를 변경하고 웹에서 동작을 다시 한번 확인해 보세요.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/caY27z/btsy4illy9A/lVrTbnUpgNHAmykvhD4pB1/img.png)
오늘은 아이폰을 사용하다 보면 Safari에서 팝업이 안 떠서 결제가 진행이 안되거나 본인인증이 안 되는 경우를 겪으신 분들을 위해서 글을 작성합니다. 팝업차단을 허용하시기 바랍니다. 위 상황의 경우 팝업 차단뿐만 아니라 JavaScript 허용도 확인해봐야합니다. 바로 아래 사진을 통해서 확인하겠습니다. 1. 팝업 허용 요약하자면 아이폰 설정 -> Safari -> 팝업 차단 허용 을 통해서 손쉽게 가능합니다. 이렇게 해도 Safari에서 원하는 팝업이 뜨지 않는다면 JavaScript를 허용해야 합니다. 아래는 방법입니다. 2. JavaScript 허용 아이폰 설정 -> Safari -> 메뉴 아래로 이동 -> 고급 -> JavaScript 활성화 위 두 방법을 통해서 모두 활성화를 시키면 Safar..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dxPYYH/btsyMOzkhnB/Agr3FQj1AaLnGWgQ5Nfdb0/img.png)
Xcode에서 프로젝트를 열고 배포 준비를 마무리해줍니다. 상단 Product 메뉴를 선택하고 Archive를 진행하면 빌드와 함께 ipa 파일을 생성하게되고 Organizer 화면이 표시될 것 입니다. 여기서는 Archive된 목록이 표시되게 됩니다. 선택을 제대로 해주고 Distribute App을 선택해주세요. 그럼 이렇게 배포 유형이 표시되게 되는데요. 기본적으로 TestFlight & App Store를 선택하고 작은 Distribute를 누르면 업로드 절차가 수행됩니다. 원래는 이것 저것 표시되는 것들도 많았는데, Xcode 15부터는 바뀐 모양입니다. 이전 모습을 보고 싶으신 분들은 Custom을 통해서 진행하면됩니다. 프로비저닝이 필요하신분들도 Custom으로 진행해주세요. 업로드가 완료되..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/47kje/btsx451gDYA/cTBbGeZtGT12im7Fwij6D1/img.png)
Xcode를 통해 개발을 완료하고 앱을 배포하려면 앱스토어에 등록을 진행해야한다. 그러기 위해서는 앱스토어에 등록하기 위한 앱을 생성해줘야한다. 그 절차를 개발자 센터에서 진행할 수 있다. (기억으로는 이 절차가 없어도 Xcode를 통해 Archive하면 자동 등록되었던 것 같은데... 그게 아니라면 개발 단계에서 Capabilities같은 옵션을 만지다가 어느순간 등록했을 수도 있다.. 내 머리속 지우개) 일단 방법은 간단하다. 개발자 센터에서 로그인하고 앱 메뉴로 이동해준다. Account - Apple Developer 로그인 - Apple idmsa.apple.com 들어가면 내가 볼 수 있는 앱 목록이 나타단다. 당연하게 + 버튼을 눌러서 '신규 앱'을 선택해준다. 그럼 이제 신규 앱의 기본 정..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cLpaqV/btsx1Qqe7rl/yK1pkvb7YJk1SKhHbmq3b0/img.png)
Apple Developer Apple Developer Apple 플랫폼에서 개발할 절호의 기회입니다 developer.apple.com 애플 개발자 센터에서 Identifiers 메뉴로 이동하고 바로 보이는 + 버튼을 눌러서 ID 등록 절차를 진행한다. 상단에 App IDs를 선택하고 'Continue' 버튼을 눌러준다. 유형은 App ID를 등록할 예정이니 App을 누르고 'Continue'를 눌러준다. Description - 앱을 알아볼 수 있게 이름을 작성하든한다. Bundle ID - 프로젝트에서 사용하는 혹은 사용할 예정인 Bundle ID를 입력해준다. Capabilities/App Services - 사용할 옵션과 서비스이다. 나중에 다시 설정 가능하다. Explicit - 단일 앱 번..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1KwkC/btssHf3Mqou/P2pfrWtok9XE7DQXNYCkd0/img.png)
Xcode에서 UIColor 에셋 설정을 완료하고 다크모드와 라이트모드를 적용을 했으나를 사용하는 다크모드 혹은 라이트모드가 반영되지 않는 겨우가 있습니다. 분명 화면 모드를 변경했고 다른 애들은 다 바뀌었는데, 특정 누군가가 바뀌지 않는 경우를 저는 경험했습니다. 첫 번째로 확인해야하는 곳은 UIColor 에셋입니다. 여기도 문제가 없이 제대로 해두었다면, UIColor를 cgColor로 사용했는지 확인을 해야합니다. self.textFieldBoxView.layer.borderColor = UIColor(named: "surface200-Dark1")?.cgColor 위와 같이 UIColor를 cgColor로 적용하고있는 경우 변경이 적용되지 않습니다. 이유로는 cgColor가 다이나믹 컬러를 지원하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCSq6r/btsl5jqsnLN/ShdcjRAznGF7IFvz2N68w0/img.png)
앱에서 특정 사용자에게만 제공되는 정보가 있다거나, 유료 컨텐츠를 제공해야하는 상황에서 화면이 캡처되는 것은 서비스하는 입장에서 매우 큰 걸림돌입니다. 이번 글에서는 화면 캡처와 녹화를 방지하고 다른 화면이 캡처되는 동작까지 수행해보겠습니다. Apple은 iOS에서 화면 녹화, 화면 캡처를 공식적으로 만는 방법을 제공하지 않습니다. 하지만 TextField에 있는 isSecureTextEntry를 통해서 이 기능을 구현할 수 있습니다. extension UIView { func preventCapture() { DispatchQueue.main.async { let textField = UITextField() textField.isSecureTextEntry = true self.addSubview(t..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bp2eUa/btrVT7JZGsw/YVTxOgsWwyKfCLF2mFcgM1/img.png)
for key in UserDefaults.standard.dictionaryRepresentation().keys { UserDefaults.standard.removeObject(forKey: key.description) } 사용을 원하는 곳에 코드를 작성 SwiftExample/UserDefatults at main · wlxo0401/SwiftExample (github.com) GitHub - wlxo0401/SwiftExample: My study, record and share My study, record and share. Contribute to wlxo0401/SwiftExample development by creating an account on GitHub. github.com
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/spT17/btrVzAeQdPz/yGUJcHXcvgXMffVaKt3k3K/img.png)
iOS에서는 기본적으로 지원하는 저장소가 몇 가지 있는데 그중에 가장 사용하기 간편한 UserDefaults를 알아보겠습니다. 간단한 방법으로 앱의 아무 곳에서 불러오고 저장할 수 있습니다. 저장 가능한 데이터로는 일반 유형인 floats, doubles, integers, Boolean values, URLs, String 뿐만 아니라 NSData, NSString, NSNumber, NSDate, NSArra, NSDictionary도 가능합니다. 키와 데이터로 구성되어 사용하기 때문에 설정 값, 신호같은 간단한 데이터를 저장하는 데 사용됩니다. 많은 양의 데이터는 DB를 다루는 친구들을 사용하는 게 좋습니다. 자세한 설명은 아래 Apple 공식 문서를 읽어주세요. UserDefaults | Appl..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ujG7R/btrUKnHrWkd/ZWH8zYAneNkpRl9f1qtwVK/img.png)
Swift UIColor Picker (ralfebert.com) Swift UIColor Picker www.ralfebert.com 위에 보이는 값들을 사용해서 Swift에서 사용 가능한 UIColor로 변환해줍니다. 아래 코드 블록은 변환된 결과 예시입니다. 보시는 것과 같이 다양한 방법으로 제공해줍니다. #colorLiteral(red: 1, green: 0.8, blue: 0, alpha: 1) /* #ffcc00 */ UIColor(hue: 0.1333, saturation: 1, brightness: 1, alpha: 1.0) /* #ffcc00 */ UIColor(hue: 48/360, saturation: 100/100, brightness: 100/100, alpha: 1.0) /* #..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5xUCZ/btrRAL5VOId/hr5mXKQ2dxHcddY2675Vz1/img.png)
[iOS/Swift] Code로 디바이스 화면 세로 고정 func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { return UIInterfaceOrientationMask.portrait } AppDelegate에 위 코드를 넣어주세요. 그럼 적용 완료입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bHnso5/btrQuMJ05qu/wkTonyvUUt8l7jSniCpKZ0/img.png)
[iOS/Swift] 화면 다크 모드, 밝은 모드 고정 if #available(iOS 13.0, *) { window?.overrideUserInterfaceStyle = .light } 위 코드 ‘.light’ 부분을 dark로 바꾸면 다크 모드로 고정된다. 현재 SceneDelegate willConnectTo에 작성해두었다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ewWVWZ/btrQtUnNc49/SpIFQZOwCZhd9DSJYEKmV0/img.png)
Failed to set (keyPath) user defined inspected property on (UITextField): [ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key keyPath. Xcode에서 작업을 하다가 위와 같은 에러?가 출력될 경우가 있다. 실패 메세지이지만 애플리케이션을 구동하고 테스트하는 것에선 문제가 발생하지 않았지만 나중에 혹시 모르는 문제가 생길 것을 대비해서 없애 보기로 했다. 방법은 매우 간단한데 원인이 되는 object를 찾는다. 본문 위에 같은 경우는 UITextField가 말썽이다. Identity Inspertor로 들어간다. User Defined Ru..