2020. 8. 16. 17:46ㆍios/한화 드림인 ios Academy
# iOS 일곱 번째 : 커리큘럼 오버뷰
iOS Academy 라이브 강의 2주차
앱 기획 ADS
-사용시나리오는 스파이샷을 찍었을때 현재 상황을 묘사하는것
iOS의 기본특성 - iOS 앱 기획/개발시 주의점
iOS의 특성상 개발할 수 없었던 서비스 예시
사람들과의 연결 네트워크를 만들고 싶어 했던 서비스
사용자의 전화기록, 문자 메세지 기록등을 분석해서 내가 누구와 가장 많이 연락했나를 분석하는 서비스
위의 서비스를 위해서는 디바이스 소유자의 개인적인 활동을 뒤에서 기록해야만 했다.
즉, 백그라운드 프로세스를 통해서 개인정보에 접근해야만 한다.
하지만, 애플에서는 개별적인 앱이 개인정보를 사용자가 인지하지 못하는 상황에서 이용하는 것을 막아 놓았다.
또한, 백그라운드 프로세스에서 사용자가 인지하지 못하는 상황에서 구동되면 악성코드가 이용자도 모르게 디바이스에 심어질 수 있다.
이러한 이유에서 애플은 백그라운드 프로세스를 허용하지 않는다.
맥은 UNIX머신 - 소형 컴퓨터용으로 사용되는 OS 안정성을 높게하는 것을 중요하게 생각함.
맥은 활발하게 사용하면서도 오류가 안나는게 중요하게 생각한다.
즉 블루스크린이 발생하지 않게 한다.
데몬과 에이젼트라는 백그라운드앱이 맥에서는 계속해서 돌아가고 있다.
아이폰에서는 백그라운드 프로세스를 허용하지 않는다.
우리가 만들 앱에서는 백그라운드 프로세스가 허용되지 않는다.
위 두가지 제약사항을 허용하지 않는다.
사용자 백그라운드 프로세스를 허용하지 않는다.
카톡도 처음에는 백그라운드를 허용하지 않아서, 알람 메세지를 받을 수 없었다.
카톡 서비스의 핵심은 어플을 사용하지 않을때에도 알람 메세지가 와야한다.
그러기 위해서는 어플이 꺼져 있는 상태에서도 백그라운드 프로세스가 작동해 앱에 주기적으로 접근하고
메세지가 오나 확인해서, 만약 왔을 경우 알람 메세지를 표시해야 한다.
디바이스 토큰 : 디바이스를 구분할 수 있는 ID
모바일 디바이스는 항상 배터리가 부족하고, 메모리가 부족하고, 항상 CPU가 부족하다.
디바이스에 설치된 모든앱이 백그라운드를 통해서 계속해서 메세지가 오고있나 확인한다면, 배터리가 빨리 닳는다.
만약 모든 앱들이 각자의 백그라운드 프로세스를 가지고 있고, 앱이 종료되어 있는 상황에서도 계속해서 어플에 접근해서
메세지가 오나 확인한다면, 배터리가 계속 소모되고, 메모리가 소모된다.
안드로이드는 모든앱들이 백그라운드에서 활동하고 작용할 수 있다.
백그라운드에서 활동하기 때문에 잠재적으로 모든앱들이 악성코드가 될 수 있다.
애플이 공식적으로 관리하는 백그라운드에서 프로세스를 돌리고 나머지 앱들은 이걸 나눠서 사용한다.
인증된 백그라운스 서버에서 모든 앱들의 메세지 알람을 전부다 관리한다.
사용자가 인지하지 못한 상태에서 백그라운드에서 앱 프로그램이 돌아가는걸 애플은 방지한다.
위 방식말고 다른방식으로는 백그라운드 메세지를 줄 수 있는 방법이 없다.
iOS4 부터 내가 앱을 끄고 다른 앱을 쓰더라도 5분간 앱에 남은 작업을 처리할 수 있는 기회를 준다.
ex) 인스타에 사진 업로드 중 앱을 꺼도 5분동안은 사진 업로드 처리
전화가 오면 소켓을 이용해서 데이터를 깨워서 작동한다.
소캣을 통해 시스템을 감시하다가 데이터를 이용
위치 서비스는 앱스토어 통과가 어려울 수 있다.
프라이버시 문제가 있기 때문이다.
위치정보 + 사용자의 위치 = 개인정보가 된다.
애플에서 예외적으로 허용하는 경우
운동앱, 네비게이션앱, 지역과 관련된 정보 제공은 위치 정보여도 통과될 가능성이 있다.
아이폰 해킹 - 탈옥
안드로이드 해킹 - 루팅
샌드박스
일반 폴더를 c드라이브로 인식하게 만듬, 최상위 폴더가 없다고 생각하게됨
영화 트루먼쇼의 주인공 처럼 앱이 들어가 있는 일반 폴더가 전체 드라이브라고 인식하게 만듬
샌드박스라는 미리 준비된 길이 있어야 한다.
iOS는 기본적으로 다 막아논 상태에서 시작한다.
나의 아이디어가 과연 가능한가에 대해서 고민해봐야 한다.
과제
코딩배우기2
타입과 초기화 부분은 앱을 만들때 실제로 사용하는 부분이다.
배열풀기
나만의 퍼즐 만들기는 skip해도 된다.
온라인 멘토링 준비
'ios > 한화 드림인 ios Academy' 카테고리의 다른 글
iOS 아홉 번째 일기 : iOS Academy 2주차 라이브 수업/프로토타입/목업/ 앱UX 주의점 (0) | 2020.08.23 |
---|---|
iOS 여덟 번째 일기 : iOS Academy 2주차 라이브 수업/인터넷의 동작/GET와 POST의 차이 (0) | 2020.08.22 |
iOS 여섯 번째 일기 : iOS Academy 2주차 라이브 수업/앱 개발 필요 구성원 (0) | 2020.08.15 |
iOS 다섯 번째 일기 : iOS Academy 1주차 라이브 수업 (0) | 2020.08.10 |
iOS 네 번째 일기 : iOS Academy 라이브 첫 수업 (0) | 2020.08.08 |