Introduction 이번 포스팅은 제목 그대로 내용을 작성하려고 합니다. 최근 들어, 모바일 기기로 iOS, Android를 많이 사용하고 있습니다. 그리고 사용자들이 주로 사용하는 플랫폼으로 모바일 외, Windows, macOS, linux 등을 이용하고 있습니다. Watch series의 경우는 모바일 기기에 종속되기때문에 제외하도록 하겠습니다. 일단 본 포스팅의 주된 목표는 앞서 말한 플랫폼의 클라우드를 구축하는 것으로서 네트워크를 통해 연결작업을 준비해야합니다. 이를 위해 필자는 아래와 같이 테스트를 해보았습니다. TCP/UDP 형태의 통신 테스트 Windows Server(C/C++) iOS Client (language:siwft) 통신 가능 Error: 영문으로 된 데이터만 전송할 경우..
Introduction 지난 iOS 및 nodeJS 통신에 이어 Android client와 nodeJS 서버와의 통신에 대해 알아보도록 하겠습니다. 간단하니깐 쉽게 쉽게 따라합시다.!! 안드로이드는 java로만 개발을 해왔기때문에 본 블로그에서는 코틀린(kt)의 경우 코드 수정이라기보다 테스트용으로만 확인하였습니다. 그래서 코드는 전체 다 올리도록 할테니, 필요에 따라 수정하여 사용하시기 바랍니다. activity_main.xml 레이아웃은 상위 그림과 같습니다. 그리고 레이아웃 코드까지는 필요을것 같아 제외하도록 하겠습니다. 그리고 가장 중요한 안드로이드 기기 권한 설정을 추가해주시기 바랍니다. AndroidManifest.xml 그리고 socket.io를 추가하기위해 아래와 같이 추가 하시면 됩니다..
photo by vbflash Introduction 이번 포스팅은 길었던 iOS chatting App UI를 마치고, 본적격으로 socket.iO를 이용하여 통신을 주고 받는 방법에 대해 알아보도록 하겠습니다. 이것저것 테스트를 많이하다보니, 소스코드가 많아져 혼란스러운 부분이 있어 포스팅에 해가가지 않을까 했지만 다행히 소스코드를 백업 해둬서 이렇게 글을 쓸 수 있네요. 블로그 쓰는 시점에 macOS Big sur 가 업데이트 되고 있는데, 향후 작업하시는 부분에 있어 문제가 되지 않을까도 걱정됩니다. 하지만, 발생하는 오류가 있으시면 댓글 달아주세요! 현재 작업 중인 부분에 대해서는 질답이 가능하니깐요...!! 그럼 socket.io를 이용한 통신방법에 대해 알아볼까요? socket.io base..
Introduction 이번 포스팅은 앞서 만들었던 채팅로그인, 프로필, 채팅리스트, 친구목록, 채팅UI 화면들을 연동하는 작업을 수행하려고 합니다. 포스팅에 앞서 조금 걱정인 부분은 각 파트별로 혼선이 생기지 않도록 별도로 작업을 해두었는데, 결국 통합하는 과정을 한번 더 거쳐야 한다는 것이네요. 현재 블로그와 다르게 개발 진행이 많이 되어 새로 만들면서 포스팅하려는게 걱정이네요^^; 그래도 인터페이스부분만 다시하는거라 어렵지 않으니 새로 만들면서 블로그로 정리를 해둬야겠네요~^^ 앞서 포스팅한 내용을 가지고, 하나의 프로젝트에 추가하여 계속 만들고 따라오시죠? 이번에는 신규 프로젝트를 생성하여 View전환관련된 내용만 정리하도록 하겠습니다. 설명에 있어 전체적인 코드를(?) 추가하지 않기 때문에 필요..
Introduction 이번 포스팅이 첫 페이지 라면, 이전 포스팅(Xcode에서 SwiftUI시작하기)을 확인 해주시기 바랍니다. 그리고 순차적으로 따라와서 해보시길 권합니다. 이번 포스팅에서 다뤄지는 내용은 바로 이전 포스팅 “친구목록 화면 만들기” 와 인터페이스가 동일합니다. 그래서 만들기가 조금 더 간편할 것 같죠? ^^ 하지만 몇가지 숨겨진 함정이 있긴하지만, 그래도 화면 인터페이스부터 먼저 만들도록 하겠습니다. #무엇이 필요할까? Text system Icon Image ScrollView NavigationView VStack, HStack 아이콘(?) Apple SF simbols app for macOS를 이용한 시스템 아이콘 이용하기 먼저 본 포스팅에서 사용하기 위한 [종소리][핀][채..
Introduction 두번째 포스팅에서는 SwiftUI를 이용하여 친구목록 화면을 만들어려고 합니다. 앞서 포스팅한 채팅 로그인화면은 보지 않더라도 처음 접하시는 분들은 이전 포스팅(Xcode에서 SwiftUI시작하기)을 확인 해주시기 바랍니다. SwiftUI로 친구목록 화면 만들기 프롤로그 Balsamiq Mockups를 이용하여 친구목록화면UI를 위와 같이 구성을 해보았습니다. 상위 화면 중 이름 우측편은 아이콘으로 변경하여 만들도록 하겠습니다. 참고: Balsamiq Mockups는 위 연결된 링크를 따라 들어가서 다운받아 Win/Mac에서 사용할 수 있습니다. #무엇이 필요할까? 앞서 포스팅한 채팅 로그인화면과 유사하여 조금씩 수정하여 만드시면 됩니다. 그리고 반복되는 UI를 나타내기 위해 또 ..
Introduction 이번 포스팅은 지난번 만들었던 로그인 화면 만들기에 이어 계속 포스팅 하도록 하겠습니다. 아직은 swiftUI를 이용하여 만들 예정이기때문에 내부에 저장관련기능 및 내부 기능연결 등 부분들은 추후에 다듬어 포스팅 할 예정이니 기다려주시기 바랍니다. :) SwiftUI로 프로필 화면 만들기 프롤로그 Balsamiq Mockups를 이용하여 채팅화면UI를 위와 같이 구성을 해보았습니다.기존에 나와있는 카카오와 유사하게 구성하였습니다. 만들어진 결과물은 상위 그림과 다르지만, 기본 툴은 설정하고 진행하시는게 좋겠죠? #무엇이 필요할까? 이번에도 만들기 전 무엇이 필요할지 고민해볼까요? CheckList Image 상단 프로필 및 하단 아이콘 이미지 추가 추가된 이미지의 모양 변경(두근 ..
Introduction iOS App을 개발하게되면, 몇몇 디자인이 필요하게 됩니다. 특히 iOS App의 아이콘을 변경해야하는 경우가 있는데 검색을 해보니 유용하게 사용할 수 있는 방법이 있었습니다. 단점으로는 결제가 필요한 부분이 있지만, 현재 iOS App의 아이콘을 만드는데 있어서 무료로 사용 할 수 있기때문에 걱정은 하지 않으셔도 됩니다. AppStore Download Appstore를 열고 Asset Catalog Creator를 검색하여 다운로드 합니다. (클릭하시면 링크를 통해 Appstore를 열 수 있습니다.) Asset Catalog Creator 다운 받은 앱으로 iCON을 만들기 위해 먼저 구글을 통해 아이콘으로 만들기위한 이미지를 다운받습니다. 저는 (이미지 참조: 고양이)를 ..
Introduction SW 개발을 하고나서 git을 이용하여 github, bitbucket, gitlab등을 이용하여 소스코드 업로드를 합니다. 이때, 불필요한 파일들을 제외하고 서버에 업로드를 하기위해서 ignore 파일이 필요합니다. 이전에는 github에 ignore 파일을 모아둬서 파일을 복사하면서 사용할 수 있었습니다. (찾아보니, github에 많이 올라와서 쉽게 찾아지지 않네요ㅠㅠ) 그래서 조금 더 찾아보니, Web을 이용하여 ignore파일을 생성하는 곳이 있었습니다. 이를 활용하여 iOS App의 ignore 파일을 추가하는 방법을 알아보도록 하겠습니다. .ignore Toptal에 접속을 하면 상위 페이지와 같이 나타납니다. 여기에 SwiftUI의 ignore 파일을 생성을 위해 다..
Introduction SwiftUI를 이용하여 iOS App을 개발할 때, 각각의 App에 대해 자신만의 색상을 가시화하고 싶을때가 있습니다. 하지만 다음 그림과 같이 iPhoneX 상위 모델에 노치부분까지 적용되지 않는 경우가 있습니다. 그림: (좌: 노치 제외) / (우: 노치포함) 우리가 원하는 건 iOS App에서 노치를 포함하여 전체 색상을 변경하는 것입니다. 코드를 적용하는 방법은 다음과 같습니다. import SwiftUI struct AppLoginSwiftUIView: View { var body: some View { return NavigationView { ZStack { Color.yellow.edgesIgnoringSafeArea(.all) // 전체화면 색상 변경 VStack..
Introduction 이번 포스팅은 SwiftUI를 이용하여 iOS App을 개발하는데 있어 필요한 모듈입니다. 이 모듈은 iOS기기 내부 로컬에 파일에 JSON형태로 저장을 하는 모듈입니다. 하지만, 이 모듈을 이용해서 쉽게 저장/로드 할 수 있지만, 몇몇 특이한 형태의 구조를 가지는 클래스/구조체/열거체의 경우 저장하는 모듈이 제대로 수행되지 않습니다. 조금의 삽질 끝으로 문제점과 해결방법을 알아보도록 하겠습니다. JSON 모듈을 save/load 하기위해서 github 혹은 cocoapods 에서 아래의 Library를 검색 가능합니다. github - EasyStash cocoapods - EasyStash 문제점(Problem) 먼저 문제점을 확인해보도록 하겠습니다. 상위 라이브러리를 이용하여..