일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자
- cocoapods
- UIKit
- Chart
- PyQt5
- UITableView
- alamofire
- graph
- charts
- UIButton
- ui
- Swift
- button
- 어플리케이션
- Xcode
- Chrats
- 그래프
- Android
- library
- Apple
- Storyboard
- androidstudio
- Python
- 라이브러리
- 개발
- ios
- modal
- kotlin
- PyQt
- TableView
- Today
- Total
목록iOS Dev/Xcode (27)
Jiwift
SwiftData와 CloudKit을 사용하면서 로그가 너무 많이 발생해서 불편한 경험을 했던 적이 있으신 분들을 위해 오늘은 로그를 어떻게 안 보이게 할 수 있는지에 대해 알아보려고 합니다. 로그가 너무 많이 쌓이게 되면 디버깅이 힘들어지고 성능에도 영향을 줄 수 있기 때문에 로그 출력은 생각보다 중요합니다. SwiftData와 CloudKit을 사용하다 보면 CoreData Logging 로그와 CloudKitDebug 로그가 정말 많이 출력됩니다. 끄는 방법은 매우 간단합니다. [Edit Scheme - Debug - Arguments - Arguments Passed On Launch]로 이동합니다. 그리고 + 버튼을 눌러서 항목 두개를 추가해 줍니다.// CloudKit과 관련된 로그입니다...
Xcode 15부터 지원하는 색상, 이미지 애셋 자동 완성 기능 Generate Swift Asset Symbol Extensions 만약 이런 식으로 색상을 애셋에 정의하고 사용한다면 기존에는 name을 직접 입력해서 사용했습니다. view.backgroundColor = UIColor(named: "white-Dark1") 이런 식으로 이름을 직접 입력하던가 enum을 선언해서 사용하던가 했습니다. 하지만 Xcode 15부터는 자동완성을 지원합니다. view.backgroundColor = .whiteDark1view.layer.borderColor = UIColor.whiteDark1.cgColor 이런식으로 바로 자동 완성 할 수 있는데요. 위코드는 UIColor와 CGColor를 사용하는 코..
Xcode는 애플의 공식 통합 개발 환경(IDE)으로, iOS, macOS, watchOS, 및 tvOS 애플리케이션을 개발하기 위해 사용됩니다. Xcode는 모든 애플 플랫폼을 위한 개발 도구를 하나로 통합하여 제공합니다. 이번 글에서는 Xcode의 주요 기능과 사용 방법을 간략히 소개하겠습니다.Xcode의 주요 기능1. 통합된 인터페이스 빌더Xcode의 인터페이스 빌더는 드래그 앤 드롭 방식으로 UI 요소를 배치할 수 있어, 코딩 없이도 손쉽게 사용자 인터페이스를 디자인할 수 있습니다. 스토리보드와 XIB 파일을 사용하여 다양한 화면을 시각적으로 구성할 수 있으며, 즉각적인 미리보기를 통해 실제 기기에서의 동작을 확인할 수 있습니다.2. 강력한 코드 편집기Xcode의 코드 편집기는 자동 완성, 구문 ..
Xcode is Apple’s official integrated development environment (IDE) designed for creating applications for iOS, macOS, watchOS, and tvOS. It combines all the necessary development tools into one comprehensive suite, making it a favorite among developers for its intuitive and powerful features. In this post, we'll explore the main features of Xcode and provide a brief guide on how to use it.Key Fe..
Xcode에서 빌드 후 앱이 실행되는 순간에 WebKit에서 에러가 발생하는 문제를 해결 상황: iOS 프로젝트에서 WebKit을 사용 중입니다. Xcode에서 테스트를 위해 빌드하면 코드 실행 중 Crash가 발생합니다. Error: Thread 1: EXC_BREAKPOINT (code=1, subcode=0x19e88fa18) 기존 iOS 16.x대에서는 문제가 없던 것 같은데 17.x 버전들이 문제가 발생했습니다. 로직도 아닌 애플에서 제공해 주는 기본 코드들도 문제였습니다 아래는 에러가 났던 코드들입니다. 다른 곳에서 더 있을 수 있어요.WKWebsiteDataStore.default() .fetchDataRecords(ofTypes: WKWebsiteDataStor..
[iOS/Xcode] Failed to load Info.plist from bundle 에러 해결하기 Xcode 업데이트 Xcode를 업데이트하고 나서 Failed to load Info.plist from bundle 에러가 발생했습니다. 저는 파이어베이스 버전이 문제였습니다. 파이어베이스를 사용하시는 분들은 한번 확인해 보세요. 10.22.0으로 변경. Firebase Apple SDK Release Notes (google.com) Firebase Apple SDK Release Notes Send feedback Firebase Apple SDK Release Notes Stay organized with collections Save and categorize content based on y..
Xcode15 iOS 앱 이름, 권한 동의, 메뉴 등 현지화를 위한 다국어 지원 앱 현지화를 위해서 String Catalog를 사용합니다. 파일을 생성할 때 이름을 정해주기만 하면 Xcode와 앱이 알아서 언어를 설정해 줍니다. String Catalog 이름은 위와 같이 설정해 주면 됩니다. Localizable: 앱 안에서 사용하는 String Catalog InfoPlist: 권한 동의나 앱 이름에서 사용하는 String Catalog 앱 안에서 사용하기 위한 String Catalog입니다. Key를 사용해서 설정된 언어를 불러옵니다. self.topTitleLabel.text = String(localized: "Key") 위와 같이 Key 자리에 미리 설정한 것을 입력해 주면 앱에서 알맞게 ..
Framework에 Privacy Manifest 추가 실험하기 애플에서 써드파티 라이브러리에 Privacy Manifest를 추가해야 한다는 뉴스를 접했습니다. 그래서 한번 실험 삼아 해보는 글입니다. 자세한 내용을 다루지 않습니다. Privacy Manifest를 추가하는 방법은 App 혹은 Framework 프로젝트에 PrivacyInfo 파일을 추가하고 안에 내용을 채워 넣는 것입니다. 앱에 적용하는 것은 대충 알겠는데 Framework에 추가해도 잘되는지 실험해보고 싶었습니다. 일단 임시로 Framework를 생성하고 PrivacyInfo를 추가하였습니다. 테스트를 진행할 앱 프로젝트에 'MyTest'라는 프레임워크를 추가하였습니다. 추가되었는지 확인하는 방법은 아카이브를 진행하고 Privacy..
Xcode Framework Dynamic과 Static 제일 기본적인 차이 기록 많은 것을 알아보기보다는 기본적인 차이점 조금 알아보도록 하겠습니다. Framework의 빌드 옵션에서 Dynamic과 Static을 나누어서 빌드가 가능합니다. 사용하고자 하는 앱의 프로젝트에서 Framework를 추가하고 import를 통하여 사용 가능합니다. Dynamic이던 Static이던 앱의 빌드는 성공합니다. 하지만 코드를 수행하는 곳에서 차이가 있습니다 Dynamic 프레임워크: [Embed & Sign, Embed Without Sign]으로 설정해야 코드 수행 가능 Static 프레임워크: [Embed & Sign, Embed Without Sign, Do Not Embed] 설정에서 모두 수행 가능 빌드..
Set Xcode Build Settings User-Defined CONFIGURATION_BUILD_DIR 설정 원하는 타겟을 선택하고 Build Setting으로 이동하고 상단에 위치한 '+'를 눌러줍니다. 그럼 이렇게 생긴 메뉴가 추가됩니다. 'Add User-Defined Setting' 선택 메뉴를 선택하면 사진 처럼 'User-Defined' 옵션칸에 새로운 setting이 추가됩니다. 저는 'CONFIGURATION_BUILD_DIR'를 추가하였습니다. ../원하는폴더이름/원하는폴더이름/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 값을 이런식으로 적용하면됩니다. ../폴더이름/라이브러리/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAM..
급하게 작성하는 글... 불과 몇 시간 전에 [iOS/Swift] 색상 정의하고 관리하기 Assets, Enum, Extension (tistory.com) [iOS/Swift] 색상 정의하고 관리하기 Assets, Enum, Extension 앱 개발을 하다 보면 색상을 매번 적용할 수 없기 때문에 정의를 해서 사용하는 게 좋습니다. 제일 기본적인 방법으로는 다양하게 있습니다. 코드로 할 수 있고, Asset을 통해서도 가능합니다. 한 jiwift.tistory.com 위 글에서는 애셋과 extension을 통해서 UIColor를 다루는 방법을 소개했었습니다. 근데 작성하면서 새로운 기능을 알게 되었습니다. (기존 방법이 궁금하신 분들은 위 글을 참고해 주세요.) 위 코드를 보시면 저는 애셋에 맞게 변..
사진 한 장으로 설명 가능한 Rosetta 실행, 1. Xcode 실행 2. Product -> Destination -> Destination Architectures -> Show Rosetta Destinations 3. 끝 시뮬레이터 리스트를 열어보면 Rosetta 목록을 확인할 수 있습니다. ARM을 지원하지 않는 라이브러리가 있어서 맨날 실제 단말기로만 테스트하던 분들은 이 방법을 통해서 시뮬레이터로 실행을 시켜 보실 수 있습니다.
Realm이라는 라이브러리를 SPM을 통해서 설치하려고 했는데, Could not be resolved 라는 메시지가 발생했습니다.. Add Anyway가 있긴 했지만 뭔~가 찜찜했습니다. 찾아보니 CocoaPods을 사용하라는 말도 있긴했는데, 저는 설치 버전 바꿔줌으로써 해결했습니다. 라이브러리들 같은 경우 깃허브를 통해서도 버전을 볼 수 있으니 확인해 보세요. Dependency Rule 수정을 통해 해결
기존에 UIKit에서 Preview 기능을 사용하려면 어렵진 않지만 코드 여러 줄 작성해야 했습니다. 하지만 이번에 Xcode15에서는 매우 간단하게 사용할 수 있습니다. #Preview { RouletteViewController() } 이 코드 처럼 Preview 매크로를 선언하고 원하는 화면을 넣어주면 Canvas가 나오면서 미리 보기가 활성화됩니다. 다만 빌드 시간이 오래 걸리기도 하고 아직 저는 미숙해서 그런지 가끔 무한 로딩에 빠지는 화면도 있고, 에러가 발생하는 화면도 있더라고요.
[iOS/Swift] Xcode 빌드 성공 후 앱 실행 안될 때 간혹 가다 Xcode에서 빌드는 성공했으나 앱이 실행 안 되는 경우가 있습니다. 에러도 없고 다 괜찮은데 왜 그럴까요?? 1. 빌드 대상 타겟이 앱이 맞는지 제대로 확인한다. 여러 라이브러리가 섞여있는 경우 실수로 타겟이 변경되어 앱이 실행되지 않는 경우가 있습니다. 이럴 땐 다시 타겟을 앱으로 바꾸어 빌드하면 실행됩니다. ' 2. Scheme 설정의 Executable이 None인 경우 타겟도 제대로 했으나 왜 실행이 안될까요? 그럴 땐 Scheme 설정을 확인해보세요. Executable가 None이라면 눌러서 앱으로 바꿔주면 빌드 성공 후 앱이 제대로 실행될 것입니다. 가끔 이런 실수들로 별것도 아닌 일에 걱정하게 되고 쓸데없이 다른 ..
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.
[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..
요약: 앱스토어 개발자 연동된 계정이 아닌 수동으로 프로비저닝 인증을 하는 경우 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로 배포를 진..
안녕하세요. 이번에는 Xcode에서 iOS 프로젝트를 생성하도록 하겠습니다. Xcode를 처음 실행하면 버전과 프로젝트 생성 및 불러오기를 진행할 수 있습니다. 맨 위 프로젝트 생성 메뉴를 선택해서 넘어갑니다. 1. 새로운 프로젝트 생성 2. Git에서 프로젝트 Clone 3. 맥에 존재하는 프로젝트 불러오기 프로젝트 템플릿을 고를 수 있습니다. iOS, iPad 앱을 만들기 위해서는 iOS -> App을 선택해주세요. Product Name: 프로젝트 이름을 설정합니다. Team: 소속한 Team을 선택합니다. 애플 아이디가 로그인되어있다면 선택 가능한 팀이 보일 것 입니다. Organization Identifier: 보통 소속된 도메인에서 www를 빼고 역순으로 작성합니다. 없어도 비슷하게 양식 맞..
해당 문제는 웹뷰에서 나이스 인증 화면을 window.open 방식을 통해서 구현하는 경우 발생하던 문제였다. 개발 환경 구현 방법에 따라서 문제가 해결 될 수 있고 아닐 수 있으니 빠르게 빠르게 시도해보고 아니라면 다른 방법을 시도해보자. 처음에는 App Transport Security Settings - Allow Arbitrary Loads 옵션을 YES로 설정하고 할때는 문제가 생기지 않았다. 후에 NO로 바꿔주니 나이스 화면이 보이지 않는 문제가 있었다. 그래서 예외 처리로 Exception Domains에 현재 프로젝트에서 사용하는 나이스 주소를 넣어주고 NSExceptionRequiresForwardSecrecy 옵션을 NO로 설정해주었다.
1. Xcode에서 Assets으로 이동 2. "+" 버튼을 누르고 Color Set을 추가 3. 색상을 원하는 이름으로 변경 4. 원하는 색상을 설정. - Appearance는 Any, Light, Dark로 나뉜다. - 위 사진 Any Appearance와 Dark를 설정하면 Light모드에서 Any Appearance 색상이, Dark모드에서 Dark 색상이 표시된다. 코드로 사용하기 위해서는 아래와 같이 적용하면된다. // 사용법 self.myView.backgroundColor = UIColor(named: Assets이름) // 실제 사용 self.myView.backgroundColor = UIColor(named: "myColor")
라이브러리를 찾다 보면 위와 같이 깃 주소를 통해서 다운로드하는 방법이 있습니다. SPM을 사용한 방법으로 깃 주소만 알고 있으면 간단하게 설치가 진행됩니다. 처음에 cocoapods을 사용하다 SPM을 사용하니 pod 설치 과정에 생기는 파일들을 따로 신경쓰지 않아도 되는 편리함이 있습니다. File - Add Packages 메뉴를 들어갑니다. Packages 목록이 출력됩니다. 여기서 원하는 라이브러리를 검색하여 설치할 수 있습니다. 깃 허브 링크를 바로 붙여넣기해도 검색이 가능합니다. Rule을 설정하고 Add Package를 누르면 설치 가능한 라이브러리를 불러오기 시작합니다. 설치 가능한 목록이 표시되면 선택하고 추가로 진행하면 됩니다. 위 사진은 하나이지만 RxSwift 같은 라이브러리들은 ..
[Xcode] SPM 라이브러리 삭제, Swift Package Manager Dependency 제거, 스위프트 패키지 매니저 디펜던시 제거 처음 SPM을 사용해서 라이브러리를 설치하면 삭제할 때 헷갈리는 문제가 생기는데 생각보다 간단한 Dependency 삭제를 진행하도록 하겠습니다. 우선 라이브러리 설치된 프로젝트를 열고 [프로젝트] -> [Package Dependency] -> [원하는 라이브러리] -> [하단 '-'버튼]을 통하여 제거가 가능합니다. 알고 보면 쉬운데 메뉴를 한 번에 안 찾아지더라고요 ㅋㅋ 그래서 저도 검색을 통해서 알게 되었습니다.
[iOS/Xcode] Xcode 시뮬레이터 아키텍처 정보 | Simulator Architectures /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/SDKSettings.json 해당 위치의 파일을 실행하고 Archs를 찾아서 확인화면 된다.