일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Storyboard
- TableView
- Swift
- button
- ui
- cocoapods
- Xcode
- PyQt
- 개발
- graph
- alamofire
- modal
- UIKit
- Android
- charts
- Python
- kotlin
- 라이브러리
- UIButton
- library
- 어플리케이션
- Chrats
- Chart
- PyQt5
- UITableView
- androidstudio
- 그래프
- Apple
- ios
- 개발자
- Today
- Total
목록전체 글 (277)
Jiwift
[iOS] 아이폰 사파리(Safari) 동작 안 할 때 혹은 결제, 본인인증 창 안 뜰 때 아이폰을 사용하다 보면 혹은 웹을 개발하다 보면 Safari에서 원하는 동작을 하지 않을 수 있습니다. 버튼이 안 눌러지거나, 결제 화면이 안 뜨거나 본인인증이 안 뜨거나와 같은 상황입니다. 이런 경우 정말 버그일 수 있지만 우선적으로 설정을 먼저 확인해봐야 합니다. 아이폰 설정 -> 고급 -> JavaScript 위 설정이 어떻게 되어있느냐에 따라서 웹이 동작하거나 안 할 수 있습니다. 이미 활성화되어있는 경우 다른 문제가 있을 수 있지만, 비활성화 상태라면 상태를 변경하고 웹에서 동작을 다시 한번 확인해 보세요.
오늘은 아이폰을 사용하다 보면 Safari에서 팝업이 안 떠서 결제가 진행이 안되거나 본인인증이 안 되는 경우를 겪으신 분들을 위해서 글을 작성합니다. 팝업차단을 허용하시기 바랍니다. 위 상황의 경우 팝업 차단뿐만 아니라 JavaScript 허용도 확인해봐야합니다. 바로 아래 사진을 통해서 확인하겠습니다. 1. 팝업 허용 요약하자면 아이폰 설정 -> Safari -> 팝업 차단 허용 을 통해서 손쉽게 가능합니다. 이렇게 해도 Safari에서 원하는 팝업이 뜨지 않는다면 JavaScript를 허용해야 합니다. 아래는 방법입니다. 2. JavaScript 허용 아이폰 설정 -> Safari -> 메뉴 아래로 이동 -> 고급 -> JavaScript 활성화 위 두 방법을 통해서 모두 활성화를 시키면 Safar..
Xcode에서 창을 여러 개로 띄우는 방법을 공유합니다. 제가 아는 건 두 가지입니다. 원하는 코드에서 우클릭하고 Open In New Window를 누르면 창이 하나 더 추가된다. 혹은 Command + T를 누르면 프로젝트가 탭으로 나뉘는데 원하는 탭 하나를 잡고 드래그해보면 분리된다. 끝!
[iOS/Swift] Xcode Unable to Authenticate with App Store Connect / No App Store Connect Access For The Team Xcode에서 업로드를 하는 도중에 두 에러가 발생했다. 1. Xcode Unable to Authenticate with App Store Connect 2. No App Store Connect Access For The Team 전혀 문제가되지 않던 계정이었는데 뭔가 문제일까 앱스토어도 확인하고 signing도 확인했으나,,,, 해결법은 맥 재부팅이었다.. The solution is to reboot your Mac.
Xcode에서 프로젝트를 열고 배포 준비를 마무리해줍니다. 상단 Product 메뉴를 선택하고 Archive를 진행하면 빌드와 함께 ipa 파일을 생성하게되고 Organizer 화면이 표시될 것 입니다. 여기서는 Archive된 목록이 표시되게 됩니다. 선택을 제대로 해주고 Distribute App을 선택해주세요. 그럼 이렇게 배포 유형이 표시되게 되는데요. 기본적으로 TestFlight & App Store를 선택하고 작은 Distribute를 누르면 업로드 절차가 수행됩니다. 원래는 이것 저것 표시되는 것들도 많았는데, Xcode 15부터는 바뀐 모양입니다. 이전 모습을 보고 싶으신 분들은 Custom을 통해서 진행하면됩니다. 프로비저닝이 필요하신분들도 Custom으로 진행해주세요. 업로드가 완료되..
이번 글에서는 카메라와 앨범의 권한 요청 및 권한 확인하는 코드를 알아보겠습니다. iOS 14 이상을 기반으로 작성되었습니다. enum MediaPermissionType { case camera // 카메라 권한 유형 case album // 앨범 권한 유형 } MediaPermissionType 열거형을 선언해서 사용하도록 하겠습니다. 그렇게 중요한건 아니고 개발자마다 분기문을 작성하는 방법이 다르기 때문에 전체 코드를 보시고 취향것 하시면 됩니다. camera: 카메라 권한을 나타내는 열거형 케이스. album: 앨범(사진 라이브러리) 권한을 나타내는 열거형 케이스. static func requestPermission(type: MediaPermissionType, completion: @esca..
import UserNotifications struct NotificationPermissionCheck { /* 사용자의 알림 권한을 확인하고 결과를 완료 핸들러를 통해 반환합니다. - Parameter completion: 알림 권한 확인 결과를 처리할 완료 핸들러입니다. `true`는 알림 권한이 부여된 경우를 나타내고, `false`는 권한이 거부되거나 아직 결정되지 않은 경우를 나타냅니다. */ static func check(completion: @escaping (Bool) -> Void) { let current = UNUserNotificationCenter.current() current.getNotificationSettings { settings in switch settings...
안녕하세요. 오늘은 개인적으로 사용하기 위해서 작성한 코드를 공유하려고합니다. 앱 UI 달력에서 월을 선택하면 그 기준으로 전/후 몇개월 기간을 계산해서 서버로 보내야하는 코드가 필요해서 만들었습니다. 현재는 연/월이 기준이지만 조금만 수정하면 연/월/일까지 사용 가능한 코드라서 조금만 보시면 바로 이해하실겁니다. 아래는 코드입니다. // 특정일을 연/월을 기준으로 범위 구하기 static func getDateRange(year: Int, month: Int, past: Int = 0, future: Int = 1) -> (fromDuration: String, toDuration: String) { // 입력 받은 날짜로 Date 구성 let calendar = Calendar.current var ..
지난 글들에서 블로그 유입률에 대해서 간단하게 알아본적이 있습니다. 모든 블로그가 동일한건 아니지만, 제 블로그 같은 경우는 주말, 공휴일과 같이 쉬는 날이면 항상 유입율이 많이 줄어들었습니다. 9월과 10월에도 추석과 공휴일들이 많아서 그래프도 동일한 모습을 보이네요.
[iOS/Swift] 테스트 플라이트(TestFlight) 배포시 Debug 상태로 배포하는 방법 정말 기초적인 내용입니다. 우선 해당 내용을 수행하기 위해서는 Configuration 및 Scheme이 설정되어야한다. Xcode로 프로젝트를 기본 생성하면 Configuration이 Debug와 Realese가 존재하는데.... 아무것도 건들지 않고 작업을 진행하면 크게 문제가되지 않지만, Debug와 Realese를 상황에 따라서 다르게 동작하거나 바라보는 서버를 다르게 구현하는 경우가있다. 이런 동작을 하지 않는다면 굳이 이 글을 읽을 이유는 없다. (사실.. 이미 Configuration을 설정했다면 이 글이 필요가 없긴하다.. 이미 알고있을태니.. 작성을 시작했으니 그냥 간단하게 작성은 하는 걸..
가끔가면 Archive가 끝나고 창이 안보일때가 있는데 창을 다시 열려고하면 안보인다... 이유는 해당 창 이름이 Organizer이기 때문이다. Xcode 상단 메뉴 -> Window -> Organizer 를 누르면 Archive 리스트 목록을 볼 수 있다.
안녕하세요. 오늘은 Storyboard가 아닌 코드 베이스로 프로젝트 생성하는 방법을 알아보도록하겠습니다. 우선 프로젝트는 UIKit으로 평소대로 생성을 해주세요. 삭제하기 위한 'Main' Storyboard를 선택하고 삭제를 수행해주세요. 이 상태로 실행하게되면 에러가 발생하기 때문에 다음 절차를 진행합니다. info.plist로 와서 Storyboard Name을 삭제해줍니다. 여기까지만해도 실행은 가능합니다. 이제 마무리 작업만 진행하면됩니다. [Target -> Build Settings -> All/Combined -> Storyboard(검색) -> UIKit Main Storyboard File Base Name]를 지워줍니다. 이런 모습이 되면 이제 코드를 작성해야합니다. func sce..
import FirebaseAuth private func logout() { let firebaseAuth = Auth.auth() do { try firebaseAuth.signOut() } catch let signOutError as NSError { print("Error signing out: %@", signOutError) } } 파이어베이스 Auth 인증 로그아웃 코드입니다. 로그인이 되었을 경우 사용 가능합니다. [iOS/Swift] Firebase Auth 로그인 여부 확인 코드 (tistory.com) [iOS/Swift] Firebase Auth 로그인 여부 확인 코드 // 로그인 정보 확인 if let user = Auth.auth().currentUser { print("로그인..
파이어베이스 Auth 로그인 확인 import FirebaseAuth func checkLogin() { // 로그인 정보 확인 if let user = Auth.auth().currentUser { print("로그인 유저입니다.") // 로그인 이메일이 있는지 확인하는 코드 let email = Auth.auth().currentUser?.email ?? "이메일 null" // 메인 화면 진입 } else { print("로그인이 필요합니다.") // 로그인 화면 진입 } } 위 코드를 통해서 로그인 여부를 확인할 수 있습니다. 중간에 email 확인 코드는 email 정보가 있는 사용자만 값이 들어있습니다. 없는 경우 null이니 예외처리를 진행하면 될 것 같습니다. 저는 해당 메소드를 통해서 로..
오늘은 FSCalendar 라이브러리에서 선택 가능할 날짜의 최대, 최소를 지정해주도록 하겠습니다. 최대를 지정하면 그 이상으로는 선택이 안되고 최소를 지정하면 그 이하 날짜로는 선택이 불가능해집니다. // 초기 작업 calendar의 DataSourece를 채택합니다. self.myFsCalendar.dataSource = self // MARK: - 캘린더 DataSource extension ViewController: FSCalendarDataSource { // 최소 선택 날짜 지정 func minimumDate(for calendar: FSCalendar) -> Date { // 오늘 날짜를 최소 날짜로 설정 return Date() } // 최대 선택 날짜 지정 func maximumDate..
import UIKit // MARK: - UINavigationController 생성 static internal func createNavigationController(controller: UIViewController) -> UINavigationController { // 실제 첫 화면이 되는 ViewController 인스턴스 생성 let childViewController: UIViewController = controller // NavigationController을 사용할 경우, ViewController를 rootViewController로 갖는 NavigationController을 생성해야한다. let parentNavigationController: UINavigationCon..
요약: 앱스토어 개발자 연동된 계정이 아닌 수동으로 프로비저닝 인증을 하는 경우 Custom을 통해서 배포를 진행한다. Xcode 앱스토어 배포 에러 Add a new account in the Accounts preference pane or verify that your accounts have valid credentials. xcode couldn't find any ios app development provisioning profiles matching xcode no profiles for were found 이번에 Xcode 15로 업데이트하면서 Organizer 화면이 변경되었습니다. 저는 개인 프로젝트는 당연하게 메뉴에 적혀있는 대로 TestFlight & App Store로 배포를 진..
Root View를 변경하기 위해서 사용했던 코드 두가지 방법을 공유합니다. 설명은 따로하지 않고, 제가 기록용으로 남기기 위해서 작성해둡니다. 응용을 통해서 원하는 방식으로 구현하세요...! import UIKit // MARK: - UIWindow의 rootViewController를 변경하여 화면전환 internal func changeRootViewController(newStoryboard: String, nextViewController: String) { DispatchQueue.main.async { let newStoryboard = UIStoryboard(name: newStoryboard, bundle: nil) let newViewController = newStoryboard.in..
Xcode를 통해 개발을 완료하고 앱을 배포하려면 앱스토어에 등록을 진행해야한다. 그러기 위해서는 앱스토어에 등록하기 위한 앱을 생성해줘야한다. 그 절차를 개발자 센터에서 진행할 수 있다. (기억으로는 이 절차가 없어도 Xcode를 통해 Archive하면 자동 등록되었던 것 같은데... 그게 아니라면 개발 단계에서 Capabilities같은 옵션을 만지다가 어느순간 등록했을 수도 있다.. 내 머리속 지우개) 일단 방법은 간단하다. 개발자 센터에서 로그인하고 앱 메뉴로 이동해준다. Account - Apple Developer 로그인 - Apple idmsa.apple.com 들어가면 내가 볼 수 있는 앱 목록이 나타단다. 당연하게 + 버튼을 눌러서 '신규 앱'을 선택해준다. 그럼 이제 신규 앱의 기본 정..
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 - 단일 앱 번..
안녕하세요. 이번에는 Xcode에서 iOS 프로젝트를 생성하도록 하겠습니다. Xcode를 처음 실행하면 버전과 프로젝트 생성 및 불러오기를 진행할 수 있습니다. 맨 위 프로젝트 생성 메뉴를 선택해서 넘어갑니다. 1. 새로운 프로젝트 생성 2. Git에서 프로젝트 Clone 3. 맥에 존재하는 프로젝트 불러오기 프로젝트 템플릿을 고를 수 있습니다. iOS, iPad 앱을 만들기 위해서는 iOS -> App을 선택해주세요. Product Name: 프로젝트 이름을 설정합니다. Team: 소속한 Team을 선택합니다. 애플 아이디가 로그인되어있다면 선택 가능한 팀이 보일 것 입니다. Organization Identifier: 보통 소속된 도메인에서 www를 빼고 역순으로 작성합니다. 없어도 비슷하게 양식 맞..
That $50,000 Mac Pro you bought in 2019 can’t make apps for the Vision Pro. - The Verge That $50,000 Mac Pro you bought in 2019 can’t make apps for the Vision Pro. - The Verge Developer Steve Troughton-Smith spotted a fun little note today on the download page for the Xcode 15.1 beta that says a Mac with Apple Silicon is required if you want to develop for visionOS. So alas, you can’t use a deck..
안녕하세요. 오늘은 직접 개발한 오토마우스 어플리케이션을 소개하려고합니다. 개발을 진행하고 첫 버전을 공유한지는 시간이 흘렀지만, 블로그에는 처음으로 작성하네요. 그냥 오토마우스가 필요해서 찾아보던 중에 맥에서 사용하기에 마음에 드는게 없어서 직접 개발해서 사용했던 것을 공유해보자라는 생각으로 공개했습니다. wlxo0401/MAutoClick: Auto Clicker for macOS the 'MAutoClick' (github.com) GitHub - wlxo0401/MAutoClick: Auto Clicker for macOS the 'MAutoClick' Auto Clicker for macOS the 'MAutoClick'. Contribute to wlxo0401/MAutoClick develo..
블로그를 시작한지 어느덧 1년이 다되간다. 처음에는 노션을 통해서 개발 블로그를 시작했으나 이것 저것 관리하는게 귀찮아서 티스토리로 이사를 완료했다. 월간 그래프를 보면 방문수가 초기에 비해서 많이 상승한 상태로 더 이상 오르지 않는 모습을 보여주고 있다. 만족은 하고있지만 더 이상 증가 하지 않는 모습은 많이 아쉽긴 하다. 일간 그래프를 보면 내 블로그 특징이 많이 나온다. 많은 사람들이 쉬는 날에는 코딩 관련해서 검색을 하지 않는 다는 것을 알 수 있다. 처음엔 그냥 우연인가 싶었으나 공휴일이 연속적으로 있거나 주말이 낀 날은 확실하게 차이가 심하다. 즉 평일에만 블로그 유입이 잘나온다는 소리다. 주말에도 들어와주시는 분들은 항상 감사하고 부지런 하시니 성공하실 겁니다 ㅎㅎ.. 개발 블로그를 운영하다..
해당 문제는 웹뷰에서 나이스 인증 화면을 window.open 방식을 통해서 구현하는 경우 발생하던 문제였다. 개발 환경 구현 방법에 따라서 문제가 해결 될 수 있고 아닐 수 있으니 빠르게 빠르게 시도해보고 아니라면 다른 방법을 시도해보자. 처음에는 App Transport Security Settings - Allow Arbitrary Loads 옵션을 YES로 설정하고 할때는 문제가 생기지 않았다. 후에 NO로 바꿔주니 나이스 화면이 보이지 않는 문제가 있었다. 그래서 예외 처리로 Exception Domains에 현재 프로젝트에서 사용하는 나이스 주소를 넣어주고 NSExceptionRequiresForwardSecrecy 옵션을 NO로 설정해주었다.
파이어 베이스 애플 로그인, 이메일 로그인, 구글 로그인 Swift 소스 코드 예제 코드는 깔끔하지는 않고 동작만 확인했습니다. 코드가 아니어도 따로 작업해야하는 것들이 많이 있습니다. 그 부분은 다른 블로그를 참고해주세요. 라이브러리는 spm으로 추가해두었습니다. 생각나는거 끄적임 1. 파이어베이스 프로젝트 생성 2. 파이어베이스 프로젝트에 추가 작업 (Firebase 라이브러리, info 파일 등등) 3. 구글 로그인 추가 (GoogleSignIn 라이브러리) 4. 애플 로그인 서비스 등록 (개발자 계정 필요) 5. 애플 로그인은 파이어베이스 콘솔에서 연동 필요 6. URL 스킴 등록 (구글 로그인 구현시 필요) 7. 코드 구현 등... SwiftExample/FirebaseAuthSample at ..
현재 Xcode 버전은 14.3.1이다. 인터넷에 나와있는 방법으로 지난 버전의 iOS 시뮬레이터를 설치하면 iOS 13.7까지는 설치가 되었다. 근데 나는 iOS13도 해보고 싶었는데, 다른 사람들이 알려준 방법들이 제대로 먹히질 않았다.. 한가지 의심은 버전 문제라고 생각하고 Xcode 버전을 낮추었다. 그래도 iOS 13은 찾을 수 없었다. 그래서 OS 버전도 낮추기로 결심했다. 현재 사용중인 맥은 Ventura였고 나는 Monterey로 낮출 생각으로 진행했다. 맥OS 버전 다운그레이드 설정 방법(이전 버전 macOS 되돌리는 방법) (tistory.com) 맥OS 버전 다운그레이드 설정 방법(이전 버전 macOS 되돌리는 방법) 애플의 macOS는 1년에 한 번씩 새로운 OS가 출시되는데요. 새..
글을 자주 올리지 않기 때문에 눈에 띄는 투데이 성장률을 보여주지는 않지만, 그래도 뭔가 들어오기는 한다. 결론은 전기세도 못 모으는 수준인 것 같다. 블로그 주제도 IT라서 단가도 낮을 것 같고.. 들어오자마자 바로 나가는 사람들이 대부분이라고 판단된다. 어떤 날은 클릭 없음에도 수익이 잘나오고 하는거보면 정말 알쏭달쏭하다. 투데이도 성장하다가 어느선에서 멈췄다. 이상태가 지속된다면 1년이 지나도 지금과 같은 수익이 될 것으로 예상된다.
블로그를 진행하면서 어차피 글을 계속 쓰는거 사탕값이라도 벌면 좋지 않을까? 라는 생각으로 광고를 붙여뒀다. 따로 스킨을 만지기도, 뭔가 고민하면서까지 설치하기에는 시간이 아깝다 느껴서 티스토리에서 지원해주는 기본 방법으로 적용을 해두었다.
이번에 공부를 하면서 우연찮게 iOS 13 버전을 설치해야하는 상황이 생겼다. 사용하는 라이브러리가 지원을 하는지 확인이 필요한 상황이지만 지난 iOS 기기를 가지고 있지 않아서,, 도큐멘트에 의존해서 진행을 하고 있기는 하다. 하지만 찾아보니 쉽게 Xcode에 지난 iOS 버전을 설치할 수 있다고 하더라. 하지만 사용하는 14.3.1버전의 Xcode는 iOS 13.7까지 지원해준다고한다. 이거라도 해주는게 어딘가.. 바로 시도해봐야겠다. 참고한 글 Xcode 시뮬레이터 추가 및 ios 버전 선택해서 설치하기 (tistory.com) Xcode 시뮬레이터 추가 및 ios 버전 선택해서 설치하기 1. Xcode 실행 2. 좌측 상단 메뉴에서 Preferences 선택 3. Components 메뉴에서 원하..