목록전체 글 (163)
아요 개발 일기
안녕하세용 스토리보드 사용할때, 일관적인 layout을 위해서 제약을 걸어주잖아요? 근데 제약을 적용하면 바로 변경이 되야하는데 자꾸 노란색이뜨더라구요.. 매번 Refresh 모양으로 생긴친구를 클릭하면되지만! 조금 번거로워서 단축어를 가져왔어요 :D 이렇게 노란색으로 뜨는건 실제로 코드를 돌렸을때 버튼의 위치가 노란색 부분에 있을 것이다라는 말이에요! 근데 레이아웃을 짤 때 걸리적거리잖아요????? 그렇다면! 해결 방법 두가지를 소개해드리겠습니다!!!! 1. 우측 하단에있는 Refresh 모양 버튼을 누른다 2. Option + cmd + + (플러스 기호) 끝!! 아주아주 간단하죠?!!! 저는 단축어 찾아볼라고 검색해봤는데, 잘 안나와가지고... 제가 잘 검색 못한것도 있겠지망,,,,, ㅎㅎㅎ 혹시 ..
안녕하세용 ㅎㅎ 회사에서 앱을 만들면 백엔드 개발자가 계시는데, 혼자 앱을 만들때는 백엔드 부분이 부담이 가기 마련입니다. 그래서 그 백엔드 부분을 해주는 친구가 Firebase인데요! Google의 모바일 및 웹 애플리케이션 개발 플랫폼입니다 ㅎㅎ 아주 유용하고 좋은 친구네요! 그럼 Firebase를 사용해볼까요????? Firebase 설정 먼저! Firebase에 들어가볼까요? 아래 링크를 눌러주세요@@ Firebase 링크 아무래도 Google 서비스이다보니, 당연히 Google 아이디가 있어야합니다! 로그인 후, 상단 우측 끝을 보면 콘솔로 이동이 있습니다. 콘솔로 이동해볼까용 프로젝트를 추가해줍니다! 저희는 iOS 앱이니까! iOS 클릭!! Apple 번들 아이디는 필수 값이에요! 번들 아이디..
오류 원인 1. Inspector창에서 Inherit Module From Target이 체크되지 않은 경우 해결 방법은 위의 이미지처럼 체크만 해주면 됩니다 ㅎㅎ 2. .swift 파일과 Storyboard의 @Outlet이 잘 못 연결된 경우 이런식으로 라이브러리랑 아웃렛이랑 연결을 하는데, 이 연결이 꼬였거나 이름이 변경되었을때 해당 오류를 띄웁니다! 해결 방법은 해당 연결을 다 지우고(x표 누름) 다시 연결해줍니다 ㅎㅎ 저는 1번이 오류 원인이였어요!! 원래 이 오류에 대해서 알고 있었는데, 그때는 2번 해결 방법만 알고있어서 계속 Outlet 연결을 끊고 다시 연결해보고 이름도 바꿔보고 했는데 해결이 안되더라구요ㅠㅠ 그래서 더 구글링 해보니 1번 방법이 나와서 잘 해결했습니당 :ㅇ
안녕하세여 🙇🏻♀️ 오늘 글은 제가 매번 찾아보기 귀찮아서 가져온 Xcode 단축어 정리 입니다! ( 새로운게 있으면 꾸준히 추가할 예정 ) Ctrl(^) 사용 CTRL + I : 코드 자동 정렬 시키기 CTRL + A : 줄의 맨 앞으로 이동 CTRL + B : Left. 캐럿을 좌측으로 한칸이동 CTRL + D : DELETE. 뒤의 한문자 삭제 CTRL + F : Right. 캐럿을 우측으로 한칸이동 CTRL + H : Back. 앞의 한문자 삭제 CTRL + K : 현재줄 캐럿이후의 문자를 전부 삭제. 문자가 없을 경우 개행문자 삭제 CTRL + N : Down. 아래로 CTRL + P : Up. 위로 CTRL + V : 전체의 마지막 위치 한 칸 전으로 이동. 이미 그 위치라면 맨 마지막으로 ..
생명주기 (Life Cycle)🤔 ? 생명주기란 앱의 최초 실행부터 앱이 완전히 종료되기까지 앱이 가지는 상태와 그 상태들 사이의 전이를 뜻합니다. 앱의 생명주기는 두가지가 있는데, 이는 SceneDelgate가 생기기 전후로 나뉩니다! iOS 13 이상 버전부터 SceneDelegate의 UISceneDelegate를 사용하면서 기존 13 이하 버전에서 사용했던 AppDelegate의 UIApplicationDelgate을 사용하는 주기와 메소드의 변화가 생기게되었습니다! ~ iOS 12: AppDelegate 사용 (SceneDelegate 없음) iOS 13 ~: SceneDelegate 사용 iOS 13 이후 - SceneDelegate iOS13부터 window(화면)의 개념이 scene으로 ..
안녕하세요 소진입니다🐣 이번에는 M1칩을 찹재한 맥에서 Homebrew를 설치해보도록 하겠습니다! Homebrew 설치 순서대로 다 했는데 자꾸 아래와 같은 오류가 뜨더라구요?! M1에서 공통적으로 나타나는 오류 같아요ㅜㅜ.. 해결하러 갑시다! /bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh)" 위의 명령어를 실행하면 됩니다. 만약, 터미널을 켤때마다 homebrew가 자동으로 실행되게 하고 싶다면, $ vi ~/.zshrc 명령어를 실행하여 파일로 들어간 후 맨..
안녕하세요! 오늘은 Moya를 이용한 네트워킹을 해보겠습니다 :D API는 영어 명언을 랜덤으로 출력해 주는 친구를 사용해보았습니다!ㅎㅎ Moya에 대한 이론적인 부분은 Moya가 뭐야? 글을 참고해주세요! Moya 설치 Swift Package Manager, CocoaPods, Carthage 를 사용하여 install할 수 있기 때문에 가장 익숙하고 편한 방법으로 설치합니다. 네트워킹을 담당할 enum을 하나 선언해서 사용될 target들 작성 enum AdviceAPI { case randomAdvice } TargetType 구현 baseURL: 서버의 endpoint 도메인 path: 도메인 뒤에 추가 될 path (/users, /documents, ...) method: HTTP meth..
안녕하세요! 오늘은 새로운 API 통신 방법인 Moya에 대해서 공부해보겠습니다!! What Is Moya? 🧐 iOS에서는 네트워킹을 구현하는 가장 기본적인 방법으로 URLSessoion을 사용합니다. URLSession은 로우레벨의 코드를 작성할 수 있고, 다른 프레임워크를 사용할 필요가 없다는 장점이 있지만, 사용이 복잡하고 코드의 가독성이 좋지 않아서 Foundation Networking을 기반으로한 인터페이스를 제공해 네트워킹 작업을 단순화 해주는 라이브러리인 Alamofire를 많이 사용합니다. 즉, URLSession을 한 단계 추상화시킨 방식이 우리가 많이 사용하고 있는 Alamofire 라이브러리입니다.(URLSession 기반) Alamofire는 iOS 앱 개발할 때 가장 보편적으로..