목록IOS (25)
Haru's 개발 블로그
Accessing User Data and Resources 사용자 개인 정보는 가장 중요하다 사용자들이 당신의 앱을 신뢰하기위해선 당신이 필요로 하는 사생활 관련 데이터 및 자원과 그것들을 어떻게 사용하는 지를 투명하게 공개하는 것이 중요하다. (ex. 액세스 권한 요청) 위치, 건강, 재무, 연락처 및 기타 개인 식별 정보를 포함한 개인 데이터 이메일, 메시지, 캘린더 데이터, 연락처, 게임 플레이 정보, Apple Music 활동, HomeKit 데이터, 오디오, 비디오 및 사진 콘텐츠와 같은 사용자 생성 콘텐츠 Bluetooth 주변 장치, 홈 자동화 기능, Wi-Fi 연결 및 로컬 네트워크와 같은 보호된 리소스 카메라 및 마이크와 같은 장치 기능 Important iOS 14.5 및 iPad부터..
Modality는 명시적 작업이 필요한 임시 모드에서 콘텐츠를 표시하는 디자인 기술입니다. 콘텐츠를 모달로 표시하면 다음을 수행할 수 있습니다 : 사람들이 독립적인 작업 혹은 관련된 옵션 집합에 집중할 수 있도록 돕습니다. 사람들이 중요한 정보를 받고 필요한 경우 조치를 취하도록 합니다. Alert vs Modal View 다양한 시스템 정의 모달 경험을 가능하게 하기 위해 iOS 는 경고, 활동 뷰, 공유 시트 및 액션 시트를 제공합니다. 앱에서 사용자 지정 모달 콘텐츠를 표시하려면 다음 프레젠테이션 스타일 중 하나를 사용할 수 있습니다. Automatic 기본 프레젠테이션 스타일 (일반적으로 시트)을 사용합니다. Fullscreen. 이전 뷰를 덮고, 닫기 버튼을 요구합니다. (필요합니다.) Popo..
Loading 컨텐츠를 불러올 때, 빈 화면이나 고정된 화면을 사용하는 것은 앱이 멈춰있는 것 처럼 보이게 합니다. 로딩 중인 것을 명확하게 하세요. Activity Spinner를 상요해서 어떤 작업이 진행중이라는 것을 표현하거나 진행상태를 보여주어서 사용자들이 얼마나 더 기다려야 하는지 알리는 것이 좋습니다. 컨텐츠를 최대한 빨리 보여주세요. 화면은 곧바로 보여주고 텍스트, 그림, 애니메이션 등을 상용해서 컨텐츠가 로딩중이라는 것을 표현하세요. 로딩시간 동안 사용자들을 즐겁게 하거나 앱에 대해 알려주세요. 게임의 팁을 보여주거나, 영상을 보여주는 것을 고려해보세요. 앱의 스타일과 잘 맞는 로딩 애니메이션을 사용해서 몰입감 있는 경험을 제공하세요. 1. 사용자에게 로딩을 납득할 수 있는 충분한 정보를 ..
Onboarding 온보딩 화면은 새로운 사용자와 복귀하는 사용자를 맞이하는 수단입니다. 빠르고, 재미있고, 앱 학습에 도움이되는 온보딩 경험은 사용자가 앱의 대부분을 이해하는데 도움을 줍니다. 새로운 사용자, 복귀하는 사용자를 고려 1. 온보딩은 앱 설정이 아니라 앱을 즐기는데 도움이되어야 합니다. 사람들은 앱 사용법을 학습할수 있는 기회에 고마워할 수도 있지만, 동시에 앱이 그냥 알아서 잘 작동하기를 바랍니다. 설정이나 라이센스 정보를 온보딩 경험에 추가하는 것을 피해야합니다. 2. 앱을 바로 시작할 수 있게 합니다 시스템이 런치스크린을 끄고 앱의 첫번째 화면을 보여줄때, 사람들이 바로 앱을 사용하고 즐길 수 있도록 해야합니다. 3. 튜토리얼이나 인트로 과정을 제공해야 하는 경우: 3.1.그것을 생략..
Lanuching 1. Launching Screen을 제공하세요 시스템은 앱을 시작함과 동시에 앱의 launch screen을 출력하고, 곧바로 앱의 첫 화면으로 대체합니다. Launch screen은 사용자에게 당신의 앱이 빠르게 작동하고 신속하게 반응한다는 인상을 줍니다. 동시에 launch screen 출력 중 앱 시작에 필요한 콘텐츠를 로드합니다. Launch screen에서 매끄러운 화면 전환을 보장하려면, 그것 자체로 주목을 끌지 않으면서 앱의 첫 시작화면과 비슷한 평범한 screen으로 설계해야 합니다. 몰입감있게 하고 싶을때 Splash image를 사용하기도 한다. 2. 적절한 방향으로 Lauching 하세요 만약 앱이 가로(portrait) 와 세로 보기 모드 (landscape) 를..
1. iOS 아키텍처에 대하여 설명하여라 iOS는 계층구조를 가진다. iOS 아키텍처는 4가지 레이어로 구성되있으며 각 레이어는 하드웨어 위에서 작동하는 어플리케이션을 만들기 위하여 프로그래밍 프레임워크를 제공해준다. 통신은 응용 프레임워크와 하드웨어 계층에 의해 향상이 된다. 하위 계층은 모든 어플리케이션이 필요로 하는 서비스를 제공하고 상위 계층은 그래픽 및 인터페이스 관련 서비스를 제공한다. 1) 코어 OS 레이어: 코어 OS 레이어는 기기 하드웨어 바로 위에 위치하며 iPhone OS 스택의 맨 아래 레이어입니다. 메모리 관리, 파일 시스템 처리 및 스레드와 같은 기본 운열 체제 서비스 외에도 이 계층은 저수준 네트워킹, 외부 악세서리에 대한 액세스를 제공한다. 2) 서비스 계층: 상위 계층이나 ..
전에 Coredata를 활용하기 위한 기본셋팅으로 CoreDataManager에 대하여 알아 보았습니다. 근데 CRUD를 활용하기 위한 Coredata를 사용할려면 어떻게 해야되는지 전체 적으로 알아보도록 합시다. 먼저 CRUD를 활용하기 위해 여러 방법이 있습니다. 예를 들어 Sqlite,Coredata,Realm 아니면 파일입출력 형식으로도 표현을 할수도 있습니다. 각각의 장단점은 다음에 파악하는 것으로 하고 일단 저는 Coredata를 사용해보록 하겠습니다. 일단 Coredata를 활용하기 위해서 기본적인 체크를 한번 하도록하겠습니다. 먼저 project파일을 생성할때 use coredata를 클릭을 하도록 하겠습니다. 그러면 모델 파일이 생성이 되는데 저는 Attributes에 genre,sing..
앞서 진행한 CoreDataManger에 다음으로 현재 진행한 프로젝트 중 녹음기능이 담겨져있는 VoiceViewModel을 분석해보도록 하겠습니다. 순서는 코드의 플로우대로 진행할 예정입니다. import Foundation import AVFoundation class VoiceViewModel : NSObject, ObservableObject , AVAudioPlayerDelegate{ var audioRecorder : AVAudioRecorder! var audioPlayer : AVAudioPlayer! var indexOfPlayer = 0 @Published var isRecording : Bool = false @Published var recordingsList = [Recording..