IDE & Framework/iOS

    ios Storyboard간 이동

    ios Storyboard간 이동

    서론 소규모 프로젝트나 개인프로젝트의 경우 하나의 Storyboard에 여러 view controller를 부착해 한눈에봐도 앱의 흐름을 파악할 수 있도록 작성할 수도 있습니다. 그러나, 이 방법은 요즘 가장 중요한 '협업'의 관점에서 충돌관리가 굉장히 어렵다는 단점이 있습니다. 그래서 저는 충돌을 피하고 페이지별로 작업할 수 있도록 view마다 Storyboard를 각기 작성하여 프로젝트를 진행하겠습니다. 0. 전제 Main.storyboard는 ViewContorller.swift, aController.storyboard는 aController.swift 쌍으로 연결되어 있는 상황입니다. 1. Storyboard id 입력 view별로 Storyboard가 따로 존재하는 환경이니, 이동을 하려면 이..

    Alamofire를 통해 POST/GET 통신하기

    Alamofire를 통해 POST/GET 통신하기

    Alamofire는 swift의 Foundation networking을 기반으로 한 http 네트워킹 라이브러리 입니다. 네트워크 작업을 단순화 시켜주어서 굉장히 쓰기 편리합니다. 굉장히 다양한 기능이 있는데요, 그중 GET/POST 방식으로 http통신을 해서 응답값을 받아오는것 까지 구현해보도록 하겠습니다. Alamofire은 크게 다음과같이 두가지로 나뉩니다. request url : 메시지를 보내고 응답을 요청할 인터넷 URL 주소 method : .get (post사용시에는 아이에 다른 방법으로 사용합니다.) parameters : 요청시 같이 보낼 파라미터 encoding : 사용할 encoding 방식 (URL, JSON, PropertyList 세가지 지원) hearder : [Strin..

    m1 기반 mac에서 cocoapod 사용하기

    m1 기반 mac에서 cocoapod 사용하기

    Alamofire를 사용하기 위해 cocoapod을 설치하고 사용했는데, m1칩은 별도의 추가과정이 있어야 오류가 안나고 사용이 잘 되더라구요. 저같이 삽질하시지 않았으면 해서 포스팅 남기겠습니다. value-of-life.tistory.com/152 Swift(스위프트) - mac(맥) m1 에서 cocoapods 설치 및 적용하기 애플의 앱을 개발하기 위해 필요한 라이브러리 모음 집 cocopods 설치 과정을 알아보겠습니다. 1. MAC m1에서 cocoapods를 설치하기 위한 사전 설정 1.1 Finder -> 응용 프로그램 -> 터미널을 복제하여 터미 value-of-life.tistory.com 위 블로그의 방법대로 하시면 됩니다. 터미널도 로제타를 사용해서 여는건 상상도 못했네요...허허

    Storyboard 사용해보기

    Storyboard 사용해보기

    이번 개인프로젝트를 위해 간~단한 토이프로젝트를 진행해 보았습니다. ios 개발은 처음이기 때문에 접근성이 좋은 Storyboard를 사용하려고 합니다. android studio, java window builder, unity등을 써봤습니다만.. 이렇게 낯설지는 상상도 못했네요🥲 제 삽질이 다른 어떤 누군가에겐 도움이 되길 바라며, 포스팅 시작해보겠습니다. new project부터 시작해 보겠습니다! 다른 포스팅들 보면 버젼이 달라서 new project의 구성부터 다르더군요. iOS 개발을 할것이니 iOS탭에서 App을 클릭해 줍니다. 그리고 next! 그럼 이런 화면이 뜰텐데요, 보통 다른 프로그램들은 딱히 설정할 필요가 없겠지만... 현재 ios applicationd의 개발방식은 Storybo..

    ios Stroyboard란?

    ios Stroyboard란?

    nib, xib를 이어 ios SDK5부터 도입된 개념입니다. 시각적 표현에 강력한 장점을 지니고 있습니다. 실행흐름을 제어할 수 있고 뷰를 표현하는데 있어서는 코드를 잘 몰라도 쉽게 작성할 수 있습니다. 그리고 뷰를 작성하는데 있어서 긴 시간을 들이지 않습니다. 하지만 한계와 단점또한 명확합니다. 어플리케이션의 구조가 거대해지면 스토리보드의 로딩시간이 지나치게 길어지게 되고, 가독성이 떨어지게 됩니다. 그리고 단순 코딩으로는 뷰에 아이템을 연결할 수 없기 때문에 아이템들 하나마다 일일이 Identifer를 연결해주어야 해 재사용성이 떨어지고 번거롭습니다. 마지막으로, 충돌이 빈번하고 병합이 까다로워 협업하기가 용이하지 않습니다. 2019년도에 xib와 스토리보드의 장점을 합쳐 코딩을 통해 UI를 개발하..

    [기상알리미] application preview

    [기상알리미] application preview

    서론 iOS앱 개발 수준을 끌어올리려 개인프로젝트를 진행하려고 합니다. Android를 작업하던 수준과 동일하게 끌어올리려 기술적용 위주의 프로젝트가 될 것 같습니다. 주제도 너무나 식상한 주제이지만... 기술적용이 우선되게 방향을 설정하다 보니 어쩔 수 없었던것 같습니다. 개발기간은 다음주 일요일인 4월 24일 완성을 목표로 합니다. 개요 data server에 회원의 정보를 저장해서 가입되있다면 저장된 지역의 기상을 손쉽게 볼 수 있습니다. DB서버는 사설 호스팅 서버의 MySQL 5.0.11을 사용합니다. 클라이언트-DB간 통신은 Spring boot으로 서버를 제작해 중계합니다. 클라이언트는 alamofire API를 사용해 Http communication을 POST 방식으로 통신할 것입니다. ..

    iOS 앱의 생명주기 (Application Lifecycle)

    iOS 앱의 생명주기 (Application Lifecycle)

    0. 서론 안드로이드보다 ios의 생명주기가 단순했던 이유는 ios가 멀티테스킹이 불가능했기 때문이였습니다. ios13이후 ios도 멀티테스킹이 가능해지면서 SceneDelegate라는 새 위임객체가 등장했습니다. 이후 AppDelegate가 관장한 생명주기 관리의 대다수가 SceneDelegate로 옮겨지게 되면서 AppDelegate는 앱의 초기 구동 및 전체에 관련된 이벤트의 처리정도를 담당하게 되며 기능이 축소됬습니다. 단, Scene 기능은 명시적으로 사용(opt-in)해야하기 때문에 info.plist에 키를 추가해주지 않으면 SceneDelegate은 사용할 수 없고 ios13이전처럼 AppDelegate이 생명주기를 관장하게 됩니다. 그러므로, 우리는 둘 다 공부해야 합니다 ^-^....흑..

    iOS 특징

    iOS 특징

    간단하게 서술해보도록 하겠습니다. 우선 ios는 object-c / Swift언어 기반으로 작성됩니다. delegate작업을 안드로이드는 adapter, ios는 delegate로 처리합니다. 앱 화면 개발은 UIViewController, StroyBoard을 통해서 진행되구요 특정 카테고리에 모여있는 환경설정 및 엑세스 권한이 모여있습니다. 훌륭한 애니메이션 품질과 뒤로가기 버튼이나 기능이 따로 없어 앱에 구현을 해주어야 한다는 점, 애플스토어의 철저한 앱 검수로 일단 검수가 길고 리젝이 자주 이루어지지만, 대신에 사용자들은 악성 어플리케이션으로부터 비교적 안전할 수 있다는 점도 있겠네요. 마지막으로 폐쇄성과 폐쇄성으로 기인한 보안성이 있겠습니다. 안드로이드는 공유저장소가 있어 모든 앱이 접근할 수 ..