[iOS 앱 개발] Human Interface Guideline - App Architecture (2) : Onboarding, Requesting Permission, Settings 쭉 읽어봤는데, 확실히 당연히 이렇게 작성해야지! 하는 내용들로 가득차있네요. 아마도, 이용하던 앱들이 다들 이 가이드라인을 따라서 만들었기 때문에 이런 직관적으로 만들고, 사용자를 배려하도록 만들라는 내용에 익숙한 것 같네요 ㅋㅋㅋㅋ 부스트코스를 이용해 iOS와 Swift에 대해 공부하는 사람들이 여기와서 이렇게 정리된 글을 읽으면서 같이 직관적이고 흐름을 찾기도 편한 좋은 애플리케이션을 개발할 수 있으면 좋겠습니다! 아래에 정리해둔 내용들은 시작, 권한 부여, 설정에 대한 내용들입니다! Onboarding 앱 실행..
[iOS 앱 개발] Human Interface Guideline - App Architecture (1) : Loading, Modality, Navigation 부스트코스에서 강좌를 수강하면서 iOS 개발의 이것저것을 찾아보고 있는데, 강의 내용 중간에 야곰님이 휴먼 인터페이스 가이드라인 ( HIG ) 에 대해 자세히 읽어보라는 내용이 있더라구요. 이전에 친구한테서 애플의 앱스토어에 올라와있는 앱들이 다들 통일감이 있고 쓰기 편한 이유가 HIG를 잘 따라서 만들었기 때문에 그런 것 같다는 이야기를 들은적이 있어요. 호기심이 생겨서 무슨 내용을 담고있나 읽어보니까, 앱개발 뿐만 아니라 모든 소프트웨어에서 적용이 가능한 내용이 쭉 적혀있는 것 같아서 되게 괜찮더라구요. 그래서 이에 대한 내용들을 쭉 번역..
[Swift 기본 문법] Swift를 처음보면서 낯설었던 문법들을 찾아보았다 확실히 C, C#, Java 같은 언어만 보다가 Swift라는 언어를 접했을 때 이게 무슨의미지? 왜 이런 문법을 쓰지? 같은 생각부터 C#, Java 같은 언어에서 보지 못했던 선언방법이나 키워드를 보면서 Swift 문법을 한번 정리를 해둘 필요가 있다고 느꼈습니다. 다른 강의나 교재의 코드를 베끼면서 공부를 한다해도, 그 의미가 뭔지 알고 읽으면 머리에 남아있겠지만 의미를 모른 채 작동하기만 바라면서 코드를 베끼면 남는건 Xcode의 생김새밖에 없을 것 같더라구요. ㅋㅋㅋ 그래서 남의 코드를 읽으면서 무슨 뜻인지만 파악할 수 있을 정도로 Swift 문법을 정리를 해보려 합니다. 물론 Deep한 영역까지 가는게 아니라 원래 알..
[Swift 개념] AVAudioPlayer 클래스 - 음악 재생과 제어 지금 부스트코스에서 iOS 프로그래밍 강좌를 들으면서 Swift를 공부하는 중이예요. 확실히 작은 프로젝트지만 직접 만들어보면서 공부를 하는게 눈에 보이는 결과물도 나오고 따라갈 이정표가 있어서 공부하기 좋은 것 같네요! 계정 가입절차가 까다로운 것도 아니고 강의 자체도 무료공개라서 저처럼 iOS 개발 공부를 시작하시는 분은 들어보면 좋을 것 같아요. 지금 강좌를 수강하면서 만들고 있는 음악플레이어에 들어가는 AVAudioPlayer 클래스에 대해 더 자세히 찾아보고자 이 글을 포스팅합니다! AVAudioPlayer AVFoundation에 포함되어있는 클래스로, 파일이나 메모리에 저장된 음악을 재생하는 장치와 제어하는 역할을 한다..
[Swift 기초 개념] View, Window 지난학기 Java에 대한 강의를 들으면서 공부했던 Frame, Panel에 대한 내용과 Window, View에 대한 내용이 거의 일치하는 것 같아서 공부하기 편했어요! Xcode의 인터페이스 빌더를 활용하면서 GUI로 코드를 다루니 훨씬 더 편리하게 기능들을 추가하고 다룰 수 있어서 좋네요. 단순하게 View는 그림, Window는 액자에 해당한다고 보면 될 것 같아요. 액자안에 액자는 담지 못해도, 한 액자 안에 여러개의 그림이 들어갈 수 있고, 여러 그림을 콜라주해서 한 그림을 만들 수 있는 걸 생각해보면 View와 Window의 기본적인 개념과 비슷한 것 같네요. View View는 뭘까 View( '뷰'라고 부르겠습니다 )는 UIView 클래스의 ..
코코아 프레임워크, 코코아 터치가 뭘까? 애플의 애플리케이션 개발을 찾아보고 공부하면서 굉장히 자주 마주치는 단어가 '코코아'였습니다. 코코아 프레임워크, 코코아 터치, 코코아 팟 등 코코아가 자주 보였는데, 오늘은 이 코코아가 도대체 뭔지 궁금해져서 이에 대해서 한 번 찾아봤습니다. 코코아 프레임워크를 알아보기 위해 일단은 프레임워크에 대해 찾아보자. 프레임워크란? 인터넷을 찾아본 결과 다음의 정의를 얻을 수 있었다. 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것. ( Ralph Johnson - GoF Design Pattern의 저자 ) 이 말을 보고는 라이브러리와 굉장히 유사한 정의라고 생각되었다. 클래스와 그에 속하는 메서드..
[Swift 기초 개념] UIButton Class Apple 공식 웹의 UIKit - UIButton에 대한 문서를 보고 번역하며 정리한 내용입니다. 자세한 내용은 글 아래편에 번역하여 올려두었고, 다음에 나올 내용은 본문의 내용을 간략하게 정리한 것입니다. 원문 : https://developer.apple.com/documentation/uikit/uibutton UIButton UIButton은 UIControl Class를 상속하는 Class이다. 버튼을 만들 때 필요한 목적에 맞는 type을 결정해줘야 한다. Title, Image 같은 content를 배치하여 버튼을 구성해줄 수 있고, 해당 속성에 대한 property를 제공한다. 버튼의 Action 버튼에 대한 반응으로 세 가지 시그니처가..
Swift 문법을 처음 공부하면서 여러 예제를 참고하다보니, 이전의 배웠던 java나 C# 등의 언어에서는 보지못했던 새로운 문법형식들이 등장해서 다소 낯설었습니다. 그래서 이런 문법들에 대해 찾아보았습니다. 제가 낯설다고 느꼈기때문에, swift를 처음 공부하는 사람이면 똑같이 낯설게 느끼지 않을까 하여 포스팅합니다. 처음 공부하는 사람이 작성했다고 해서 왔는데 어렵더라! 라는 말이 안나오게 이해한 내용까지만 작성하려해욤. 물론 저도 쌩판 처음 스위프트에 대해 공부를 하면서 작성하는 문서이기에, 잘못된 내용이 있을 수 있으니 혹시 있다면 댓글로 달아주시면 감사하겠습니다! IBAction, IBOutlet의 역할 요점만 말하자면, 이 둘의 역할은 StoryBoard와의 연결고리를 담당한다. 변수나 함수를..
함수형 언어가 뭘까? 내 주변의 컴덕 친구들이 iOS의 언어인 swift에 대한 이야기를 할 때 ''함수형 프로그래밍'', ''함수형 언어'라는 말을 자주 들었다. 내가 이용하는 프로그래밍 언어가 함수형 프로그래밍인지, 함수형 프로그래밍이 도대체 뭔지 관심이 생겨 한 번 찾아보았다. 명령형 프로그래밍과 함수형 프로그래밍 우선 내가 이제껏 사용해오던 프로그래밍 언어 Java, C#등은 명령형 프로그래밍이라고 보면 될 것 같다. 명령형 프로그래밍은 '명령을 수행'하는데 초점이 맞추어져있고 함수형 프로그래밍은 '함수형식을 유지'하는데 초점이 맞추어져있다고 생각된다. 명령형 프로그래밍은 입력, 출력의 유무에는 크게 상관이 없이 필요한 동작을 수행하기 위해 내부적으로 값에 접근해 사용해도 상관이 없다. 다시 말하..
HIG는 앱개발에 있어서 동작과 디자인을 어떻게 구성할까에 대한 질문에 답을 주는 지침서이다. 이를 따라가면서 앱을 개발하면 사용자들에게 익숙한 환경을 제공할 수 있고, 낯선 앱이라도 친숙하게 이용할 수 있다. 약간 모든 애플리케이션에 있어서 통일성을 형성하여 "애플생태계"를 구축하고자 하는 것으로 보인다. 사용자 입장에서 개발을 진행하여 좀 더 사용에 편리할 수 있고, 낯선 앱을 이용할때 오는 이질감도 줄어들 것으로 기대된다. https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/ㅈ Themes - iOS - Human Interface Guidelines - Apple Developer iOS Design T..