Swift SwiftUI로 키보드로 문자가 숨기지 않도록 처리를 넣을 수 있다 iOS 개발을 하면 반드시 직면하는 키보드를 닫는 처리. Return 키를 누르거나 다른 부분을 탭했을 때 닫거나 키보드로 입력되는 문자가 숨기지 않도록 스스로 처리를 작성해야 한다. 이번에는 キーボードで入力される文字が隠れないようにする 처리 만들기 UIKit 때와 마찬가지로 NotificationCenter를 사용하여 키보드를 모니터링합니다. 키보드를 모니터링하는 클래스 View 클래스 Sw... SwiftSwiftUI키보드 View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기 이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아웃 캘린더의 날짜를 각각 UILabel로 구성하는 뷰 수가 많은 경우 화면 이미지 화면 전환에 시간이 걸리는 것이 변경의 계기 제목대로 AutoLayout + UIStackView... AutoLayoutiOSSwift성능 Signposts 및 Instruments에서 성능 측정: 시작하기 iOS 앱의 성능 튜닝에서 Signposts를 사용하는 방법에 대해 씁니다. 코드 중에 넣은 가장 간단한 마커를 Instruments 로 표시시키는 부분까지를 초보자라도 알 수 있도록 순서를 따라 설명해 갑니다. 성능을 측정하기 위한 마커로 Xcode 10에서 도입되었습니다. 성능을 조사하려는 코드에 마커를 넣고 프로파일 링하여 측정 결과를 Instruments에 그래픽으로 표시 할 수 있습... iOS성능SwiftinstrumentsXcode DateFormat을 잘못 쓰고 화면에 아무것도 표시되지 않는 이야기 개발 중인 앱의 홈에 아무것도 표시되지 않게 되었다. 홈에서는, 이번 달과 다음 달의 예정을 표시하므로 startDate와 endDate를 지정해 API 리퀘스트를 보내고 있었다. 응답이 0건이었기 때문에 서버의 문제일까라고 생각했지만, 아무래도 리퀘스트의 파라미터가 이상한 것 같다. 오늘은 31일이므로 end_date는 맞습니다. 하지만 start_date가 1년 앞인 12/30이 되고 있... Swiftdatetime Qiita의 API를 부를 때 끝에 슬래시를 붙이면 http://~로 리디렉션되므로 조심합시다. 제목대로. curl 결과는 . 예전에 보았던 오류에 근거한 박자를 만났습니다 이것은 메시지처럼 HTTP 통신을 시도할 때 iOS가 차단하는 사람입니다. URLSession 에 건네주고 있는 url는 확실히 https의 것…… 왜 그런지 모르겠지만 URL 체계가 http로 바뀌 었습니까? 그리고 로컬 호스트에 연결할 때와 마찬가지로 App Transport Security Settings의 A... iOSQiitaAPISwifterrorQiita Qiita 기사 보기 및 LGTM 수를 표시하는 iOS 앱 만들기 오픈 소스 소스 코드/오픈 소스 : 로컬 장치에 사용자 토큰 저장 기존 웹 쿠키를 사용하여 모바일 응용 프로그램에 사용자를 로그인합니다. URLSession 를 사용하여 GET requests 만들기 Swift에서 JSON 응답 분석 원격 서버에서 이미지로드 물론, 여기서는 이미 존재하는 것을 재발명하지 않았으며 기존의 오픈 소스 프레임 워크를 사용했습니다. 기사의 다음 부분에서 그것을 소개... iOSSwiftQiitaAPI 【Swift】MVP 아키텍처에 대해서 MVC 에서는 View 와 ViewController 는 나누어 생각되고 있었습니다만, MVP 에 있어서는 View 로서 다루어집니다. MVC 에서는 ViewController 의 책무가 커져 버리기 때문에, 테스트의 용이성이나 작업 분담의 용이함과 같은 문제가 있습니다. 이하에서는, MVP 에 있어서의 역할 분담을 MVC 와 섞으면서 확인해 갑니다. · View의 입력에 대해 처리합니다 (... iOSSwift아키텍처MVP MVC에 대해 정리해 보았습니다. IBOutlet에서 버튼 등의 UI 파트를 연결하거나 버튼을 탭했을 때의 처리, API 통신 등의 다양한 처리를 모두 ViewController에 쓰면, ViewController에 방대한 행수의 코드가 쓰게 되어 버려, 코드를 쫓거나 수정하거나 하는 등이 어려워져 버립니다. 이러한 문제를 해결하려면 책임을 분리하는 작업을 수행해야 합니다. 현재 자주 사용되는 MVC 패턴은 cocoa MVC... XcodeSwiftmvc아키텍처 【입문】iOS 앱 개발 #4【아키텍처의 설계】 이번에는 팩맨 게임을 구축할 때 전체 아키텍처를 설계한다. 사양서로부터 화면 모드는 4개 있어, 각각의 모드 내에는 캐릭터가 있어 이동 처리 등이 있다. 이들은 하나의 객체로 관리되고 처리됩니다. 각 화면 모드를 객체로 취급하고 쉽게 전환 조작하고 싶습니다. 이런 느낌. 또한 이벤트 메시지를 화면 모드의 객체에 쉽게 알리고 싶습니다. 이벤트 메시지는 표시 갱신 타이밍(Update)이나 터치 ... iOS게임 제작Swift아키텍처Xcode 로컬에서 gitignore했던 파일을 포함하여 Bitrise로 빌드하고 싶습니다. 그 때 GitHub에 푸시하지 않은 API 키가 들어있는 plist 파일을 Bitrise에서 어떻게 생성시킬 것인가라는 벽에 직면했기 때문에 그것을 기사로했습니다. 시도에 빌드했지만 이 시점에서는 아직 리모트 리포지토리의 파일을 Bitrise에 옮겨 놓았기 때문에 당연히 테스트시에 아래의 에러가 발생합니다. 이번에는 API 키의 내용을 Key.plist에 저장하려고합니다. 여기에서 빌드시 파... CICDSwiftBitrise 【Swift】 라이브러리 "Material Components"에서 leadingAssistiveLabel의 색상 변경 이거 ――의 「올바른 패스워드를 입력해 주세요」의 색을 빨강으로 하고 싶다. 매뉴얼을 보자. leadingAssistiveLabel.textColor 에서 좋다. ――하지만, 색이 변하지 않는다. 그래도 해결책이 나오지 않는다. 할 수 있었다. 과거의 자신의 기사가 힌트가 되었다(라고 할까 거의 같은 고민). 【Swift】 라이브러리 "Material Components"의 MDCOutlin... MaterialDesignSwiftMaterialComponents 【Swift】 라이브러리 "Material Components"의 MDCOutlinedTextField를 사용한 TextField 구현 머티리얼 디자인의 UI가 간단하게 구현할 수 있는 Material Components 를 사용해 이런 느낌의 TextField를 만들고 싶다. Material Components의 설치 방법은 생략한다. Stryboard의 TextField를 선택하여 MDCOutlinedTextField를 설정합니다. 그러면 Controller에 연결한다. LoginViewController.swift Te... MaterialDesignSwiftMaterialComponents Material Components for iOS의 FlexibleHeader를 사용해 보았습니다. Material Components는 Google에서 제공하는 Material Design을 구현하는 데 도움이 되는 컴포넌트 라이브러리입니다. 자세한 내용은 다음 페이지를 읽으십시오. Google 순정 앱의 상세 화면 등에서 볼 수 있는 스크롤에 맞추어 헤더 부분의 높이가 동적으로 바뀌는 디자인에 사용되고 있습니다. Flexible header Swifter는 다음 Shrine이라는 데모 ... iOSSwiftMaterialDesign [MDC]TabBar의 인디케이터 높이 변경 의 을 사용하고 있었습니다만, 탭 아래의 인디케이터가 디폴트로 2pt라고 하는 매우 가는 선 밖에 draw 할 수 없어 곤란하고 있었습니다. 하지만, 보다 자유롭게 변경할 수 있게 되어 있었습니다. 사용법 언더라인은 으로 기본적으로 준비되어 있지만 높이가 2.0f로 고정되어 있으므로 높이를 변경할 때는 독자적으로 준비해야 합니다. TabIndicator.swift MDCTabBarIndica... iOSSwiftMaterialDesign MVC 아키텍처에 대해 나름대로 조사하고 정리 비망록 MVC 아키텍처로 개발을 하고 있지만, 푹신한 이해이므로 정리해 이해를 깊게 하는 것이 목적. 効率よく開発・運用していくための設計方法 의 일을 가리킵니다. 이 설계 방법을 의식하지 않고, 개발해 가면 몇개의 문제가 생겨 버립니다. · 테스트가 어렵습니다. · 개수 및 기능 추가가 어려움 ・팀 개발시의 역할 분담이 곤란하다 등 써 갈 때가 없습니다. 아키텍처를 사용하지 않는 앱의 가장 큰... mvcSwift 【Xcode】 개발 도중 수동으로 디렉토리 구성 변경 Xcode에서 디렉토리 구성을 변경하는 방법에 대한 것입니다. 개발하고 있는 도중에 「디렉토리의 구성 바꾸고 싶어졌습니다만 어떻게 하면 에나?!」가 되어 조사해도 지금의 버젼으로 자세한 방법이 실려 있는 기사등이 없었기 때문에 써 보았습니다. 나는 제대로 모르고 적당히 하면 빌드 에러로 엉망이 되어 버렸기 때문에, 똑같이 빠진 사람을 위해서 되면 기쁩니다. 자신의 조사 방법이 나빴던 것만으로... iOSSwiftXcode10mvcXcode 개인개발 iOS 애플리케이션을 위한 아키텍처에 관한 한 고찰 최근 개인 개발 iOS 앱의 아키텍처를 생각할 때 MVC, MVVM, ReSwift, Clean Architecture 등의 Qiita 기사가 매우 도움이 되었습니다. MVC/MVP/MVVM의 단순성은 개인 개발 목적이라면 좋을지도 그러나 Clean Architecture, VIPER 및 ReSwift는 조금 무거운 한 방향으로 학습 비용이 낮고 큰 효과를 기대할 수 있습니다. ReSwift... iOSSwiftmvc아키텍처MVVM Swift 코드에서 자동으로 UML 다이어그램을 생성하는 방법 Swift 코드에서 UML (클래스 다이어그램)을 생성하는 스크립트 ( )를 공개하는 사람이 있었으므로 소개합니다. 확대 된 프로젝트를 이해하기 위해 클래스 다이어그램과 같은 다이어그램을 사용하면 유용합니다. swiftuml 스크립트를 사용하여 PlantUML (텍스트 기반 UML 설명 언어)을 출력하면 PlantUML 소프트웨어를 사용하여 다이어그램을 볼 수 있습니다. swiftuml 실행... Swiftuml SKStoreReviewController.requestReview()를 통하고 있는데 리뷰 의뢰 화면이 표시되지 않을 때의 체크 사항 SKStoreReviewController.requestReview()를 발화시켜도 팝업이 표시되지 않는 경우에 가능한 원인은 1. 단말기의 시간을 변경하고 있습니다. 2. 네트워크 통신이 불가능합니다. 3. TestFlight를 통해 리뷰를 배포 테스트하려면 프로모션 코드를 통해 테스트하세요. iOS 10.3 이상에서 사용 가능 Apple이 공식적으로 제공하는 리뷰 소구용 API SKSto... SwiftSwift4swift3 Swift4와 Swift3가 혼재하는 라이브러리들을 CocoaPods로 어떻게든 한다 XCode9에서는 Swift4.0과 Swift3.2를 사용할 수 있습니다. 오픈 소스 라이브러리는 업데이트 상황이 마치 마치이므로, 프로젝트가 Swift4.0인데, 이용하고 싶은 라이브러리가 Swift3.2계 밖에 없거나 하는 경우가 남아 있습니다. CocoaPods에서 패키지 관리를 할 때, 프로젝트의 Swift 버전에 관계없이 각 라이브러리가 해당 Swift 버전으로 컴파일되도록 그리고 ... CocoaPodsSwift4Swiftswift3Xcode Swift의 배열에서 부분열을 꺼내면 Array형이 아닌 ArraySlice형이 된다 Swift 3.2.0 Swift 3에서 배열에서 Range 객체를 사용하여 부분 열을 검색하는 경우 다음과 같은 코드로 구현할 수 있습니다. map1.swift 평상시 자신은 Swift를 쓸 때 형추론을 사용하지 않고 가능한 한 명시적인 형식 지정을 하는 버릇이 있었습니다. 또 부분열이므로 , 형도 같은 String 배열일 것이라고 생각해 다음과 같은 코드를 쓴 곳 map.error.swif... RangeSwiftswift3슬라이스배열 【Swift3】UITabBar의 Item의 이미지를 Storyboard로 설정 UITabBar의 Item에 이미지를 StoryBoard에서 설정하는 방법을 기술하고 싶습니다. 이미지 준비 (moon.png) UITabBarController 준비 1.Tab Bar Item 설정 System Item 의 부분을 Custom 로 변경 Selected Image 부분을 임의의 이미지로 변경 그러나 이대로는 잘 반영되지 2.Bar Item 설정 Image를 이전 이미지로 변경... UITabBarControllerXcode8SwiftUITabBarswift3 【iOS】UINavigationController에 View를 addSubview하여 앱 전체에서 계속 표시하는 방법 앱 상단에 View를 계속 표시하는 방법은 UIApplication에서 Windows를 가져 와서 addSubview로 볼 수 있지만, UINavigationController 또는 UITabBarController를 사용하는 경우 해당 subview를 사용하여 계속 표시할 수 있습니다. 그러나 이것이라고 추가한 View 아래에 본래 표시되는 View가 숨겨져 버립니다. 그래서 UINavig... UITabBarControllerSwiftUITabBarswift3UINavigationController iOS에서 정다각형 그리기 이것의 swift 버전 PolygonView 홀수각형일 때 도형의 중심이 view의 중심에 오지 않는 것이 조금 기분 나쁘다... iOSSwiftswift3 Instagram API로 OAuth 인증 (Swift3 버전) 당사에서 개발한 iOS 앱 에서는 Instagram에 등록된 사용자 정보를 사용하여 로그인하는 기능을 구현했습니다. Instagram에 등록 된 사용자 정보를 얻으려면 Instagram API를 사용해야했지만 Instagram은 API를 사용하기위한 iOS 용 SDK가 배포되지 않았기 때문에 WebView를 사용하여 꾸준히 구현 했습니다. 아래 단계에 따라 Instagram 사용자 ID를 얻... InstagramSwiftOAuthWKWebViewswift3 앱 내 Touch ID를 사용한 사용자 인증 모바일 장치의 경우 인증이 중요합니다 (모바일이 아닐지라도) iOS 기기에는 Touch ID라는 지문 인증 기능이 내장되어 있습니다. Touch ID는 놀랍도록 쉽게 앱에서 사용할 수 있습니다. Xcode 8.3.3 Swift 3.1 iOS 10.3 LAContext 클래스 이 클래스를 이용해 인증을 실시합니다. Touch ID 탑재 된 장치의 경우 Touch ID (또는 Passcode)를... iOSSwiftTouchIDswift3 Xcode 8에서 자동 생성되는 Core Data 엔터티의 소스 파일 Xcode 8부터는 NSManagedObject의 서브 클래스 (이하 엔티티와 설명)가 자동 생성 될 수 있습니다. 이전과 같이, 메뉴로부터 [Editor] -> [Create NSManagedObject Subclass...] 로서 생성할 필요가 없습니다 클래스 정의를 사용자 정의하고 싶다면 직접 생성 할 수 있습니다. 선택하는 옵션에 따라 자동 생성되는 것이 다르므로 그 요약입니다. ma... iOSXcode8Swiftswift3Xcode 이미지 합성 Swift3 UIGraphicsBeginImageContextWithOptions 에서 UIGraphicsEndImageContext() 중에서 이미지를 합성합니다. 이 중 draw() 함수를 사용하여 합성할 이미지를 사용합니다. 왜 draw() 함수를 사용하면 2장의 화상이 합성되는지 내용의 구조는 잘 모르겠지만, 어쨌든 아래와 같이 실장하는 것으로 2개의 화상은 합성됩니다. 합성된 이미지는 UIGra... XcodeSwiftXcode8swift3 【swift3】NotificationCenter를 사용하여 포그라운드 복귀시 처리 구현 구그는 심플한 것을 찾지 못했기 때문에 AppDelegate.swift ViewController.swift ViewController.swift... NSNotificationCenteriOSSwiftswift3NSNotification 이전 기사 보기
SwiftUI로 키보드로 문자가 숨기지 않도록 처리를 넣을 수 있다 iOS 개발을 하면 반드시 직면하는 키보드를 닫는 처리. Return 키를 누르거나 다른 부분을 탭했을 때 닫거나 키보드로 입력되는 문자가 숨기지 않도록 스스로 처리를 작성해야 한다. 이번에는 キーボードで入力される文字が隠れないようにする 처리 만들기 UIKit 때와 마찬가지로 NotificationCenter를 사용하여 키보드를 모니터링합니다. 키보드를 모니터링하는 클래스 View 클래스 Sw... SwiftSwiftUI키보드 View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기 이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아웃 캘린더의 날짜를 각각 UILabel로 구성하는 뷰 수가 많은 경우 화면 이미지 화면 전환에 시간이 걸리는 것이 변경의 계기 제목대로 AutoLayout + UIStackView... AutoLayoutiOSSwift성능 Signposts 및 Instruments에서 성능 측정: 시작하기 iOS 앱의 성능 튜닝에서 Signposts를 사용하는 방법에 대해 씁니다. 코드 중에 넣은 가장 간단한 마커를 Instruments 로 표시시키는 부분까지를 초보자라도 알 수 있도록 순서를 따라 설명해 갑니다. 성능을 측정하기 위한 마커로 Xcode 10에서 도입되었습니다. 성능을 조사하려는 코드에 마커를 넣고 프로파일 링하여 측정 결과를 Instruments에 그래픽으로 표시 할 수 있습... iOS성능SwiftinstrumentsXcode DateFormat을 잘못 쓰고 화면에 아무것도 표시되지 않는 이야기 개발 중인 앱의 홈에 아무것도 표시되지 않게 되었다. 홈에서는, 이번 달과 다음 달의 예정을 표시하므로 startDate와 endDate를 지정해 API 리퀘스트를 보내고 있었다. 응답이 0건이었기 때문에 서버의 문제일까라고 생각했지만, 아무래도 리퀘스트의 파라미터가 이상한 것 같다. 오늘은 31일이므로 end_date는 맞습니다. 하지만 start_date가 1년 앞인 12/30이 되고 있... Swiftdatetime Qiita의 API를 부를 때 끝에 슬래시를 붙이면 http://~로 리디렉션되므로 조심합시다. 제목대로. curl 결과는 . 예전에 보았던 오류에 근거한 박자를 만났습니다 이것은 메시지처럼 HTTP 통신을 시도할 때 iOS가 차단하는 사람입니다. URLSession 에 건네주고 있는 url는 확실히 https의 것…… 왜 그런지 모르겠지만 URL 체계가 http로 바뀌 었습니까? 그리고 로컬 호스트에 연결할 때와 마찬가지로 App Transport Security Settings의 A... iOSQiitaAPISwifterrorQiita Qiita 기사 보기 및 LGTM 수를 표시하는 iOS 앱 만들기 오픈 소스 소스 코드/오픈 소스 : 로컬 장치에 사용자 토큰 저장 기존 웹 쿠키를 사용하여 모바일 응용 프로그램에 사용자를 로그인합니다. URLSession 를 사용하여 GET requests 만들기 Swift에서 JSON 응답 분석 원격 서버에서 이미지로드 물론, 여기서는 이미 존재하는 것을 재발명하지 않았으며 기존의 오픈 소스 프레임 워크를 사용했습니다. 기사의 다음 부분에서 그것을 소개... iOSSwiftQiitaAPI 【Swift】MVP 아키텍처에 대해서 MVC 에서는 View 와 ViewController 는 나누어 생각되고 있었습니다만, MVP 에 있어서는 View 로서 다루어집니다. MVC 에서는 ViewController 의 책무가 커져 버리기 때문에, 테스트의 용이성이나 작업 분담의 용이함과 같은 문제가 있습니다. 이하에서는, MVP 에 있어서의 역할 분담을 MVC 와 섞으면서 확인해 갑니다. · View의 입력에 대해 처리합니다 (... iOSSwift아키텍처MVP MVC에 대해 정리해 보았습니다. IBOutlet에서 버튼 등의 UI 파트를 연결하거나 버튼을 탭했을 때의 처리, API 통신 등의 다양한 처리를 모두 ViewController에 쓰면, ViewController에 방대한 행수의 코드가 쓰게 되어 버려, 코드를 쫓거나 수정하거나 하는 등이 어려워져 버립니다. 이러한 문제를 해결하려면 책임을 분리하는 작업을 수행해야 합니다. 현재 자주 사용되는 MVC 패턴은 cocoa MVC... XcodeSwiftmvc아키텍처 【입문】iOS 앱 개발 #4【아키텍처의 설계】 이번에는 팩맨 게임을 구축할 때 전체 아키텍처를 설계한다. 사양서로부터 화면 모드는 4개 있어, 각각의 모드 내에는 캐릭터가 있어 이동 처리 등이 있다. 이들은 하나의 객체로 관리되고 처리됩니다. 각 화면 모드를 객체로 취급하고 쉽게 전환 조작하고 싶습니다. 이런 느낌. 또한 이벤트 메시지를 화면 모드의 객체에 쉽게 알리고 싶습니다. 이벤트 메시지는 표시 갱신 타이밍(Update)이나 터치 ... iOS게임 제작Swift아키텍처Xcode 로컬에서 gitignore했던 파일을 포함하여 Bitrise로 빌드하고 싶습니다. 그 때 GitHub에 푸시하지 않은 API 키가 들어있는 plist 파일을 Bitrise에서 어떻게 생성시킬 것인가라는 벽에 직면했기 때문에 그것을 기사로했습니다. 시도에 빌드했지만 이 시점에서는 아직 리모트 리포지토리의 파일을 Bitrise에 옮겨 놓았기 때문에 당연히 테스트시에 아래의 에러가 발생합니다. 이번에는 API 키의 내용을 Key.plist에 저장하려고합니다. 여기에서 빌드시 파... CICDSwiftBitrise 【Swift】 라이브러리 "Material Components"에서 leadingAssistiveLabel의 색상 변경 이거 ――의 「올바른 패스워드를 입력해 주세요」의 색을 빨강으로 하고 싶다. 매뉴얼을 보자. leadingAssistiveLabel.textColor 에서 좋다. ――하지만, 색이 변하지 않는다. 그래도 해결책이 나오지 않는다. 할 수 있었다. 과거의 자신의 기사가 힌트가 되었다(라고 할까 거의 같은 고민). 【Swift】 라이브러리 "Material Components"의 MDCOutlin... MaterialDesignSwiftMaterialComponents 【Swift】 라이브러리 "Material Components"의 MDCOutlinedTextField를 사용한 TextField 구현 머티리얼 디자인의 UI가 간단하게 구현할 수 있는 Material Components 를 사용해 이런 느낌의 TextField를 만들고 싶다. Material Components의 설치 방법은 생략한다. Stryboard의 TextField를 선택하여 MDCOutlinedTextField를 설정합니다. 그러면 Controller에 연결한다. LoginViewController.swift Te... MaterialDesignSwiftMaterialComponents Material Components for iOS의 FlexibleHeader를 사용해 보았습니다. Material Components는 Google에서 제공하는 Material Design을 구현하는 데 도움이 되는 컴포넌트 라이브러리입니다. 자세한 내용은 다음 페이지를 읽으십시오. Google 순정 앱의 상세 화면 등에서 볼 수 있는 스크롤에 맞추어 헤더 부분의 높이가 동적으로 바뀌는 디자인에 사용되고 있습니다. Flexible header Swifter는 다음 Shrine이라는 데모 ... iOSSwiftMaterialDesign [MDC]TabBar의 인디케이터 높이 변경 의 을 사용하고 있었습니다만, 탭 아래의 인디케이터가 디폴트로 2pt라고 하는 매우 가는 선 밖에 draw 할 수 없어 곤란하고 있었습니다. 하지만, 보다 자유롭게 변경할 수 있게 되어 있었습니다. 사용법 언더라인은 으로 기본적으로 준비되어 있지만 높이가 2.0f로 고정되어 있으므로 높이를 변경할 때는 독자적으로 준비해야 합니다. TabIndicator.swift MDCTabBarIndica... iOSSwiftMaterialDesign MVC 아키텍처에 대해 나름대로 조사하고 정리 비망록 MVC 아키텍처로 개발을 하고 있지만, 푹신한 이해이므로 정리해 이해를 깊게 하는 것이 목적. 効率よく開発・運用していくための設計方法 의 일을 가리킵니다. 이 설계 방법을 의식하지 않고, 개발해 가면 몇개의 문제가 생겨 버립니다. · 테스트가 어렵습니다. · 개수 및 기능 추가가 어려움 ・팀 개발시의 역할 분담이 곤란하다 등 써 갈 때가 없습니다. 아키텍처를 사용하지 않는 앱의 가장 큰... mvcSwift 【Xcode】 개발 도중 수동으로 디렉토리 구성 변경 Xcode에서 디렉토리 구성을 변경하는 방법에 대한 것입니다. 개발하고 있는 도중에 「디렉토리의 구성 바꾸고 싶어졌습니다만 어떻게 하면 에나?!」가 되어 조사해도 지금의 버젼으로 자세한 방법이 실려 있는 기사등이 없었기 때문에 써 보았습니다. 나는 제대로 모르고 적당히 하면 빌드 에러로 엉망이 되어 버렸기 때문에, 똑같이 빠진 사람을 위해서 되면 기쁩니다. 자신의 조사 방법이 나빴던 것만으로... iOSSwiftXcode10mvcXcode 개인개발 iOS 애플리케이션을 위한 아키텍처에 관한 한 고찰 최근 개인 개발 iOS 앱의 아키텍처를 생각할 때 MVC, MVVM, ReSwift, Clean Architecture 등의 Qiita 기사가 매우 도움이 되었습니다. MVC/MVP/MVVM의 단순성은 개인 개발 목적이라면 좋을지도 그러나 Clean Architecture, VIPER 및 ReSwift는 조금 무거운 한 방향으로 학습 비용이 낮고 큰 효과를 기대할 수 있습니다. ReSwift... iOSSwiftmvc아키텍처MVVM Swift 코드에서 자동으로 UML 다이어그램을 생성하는 방법 Swift 코드에서 UML (클래스 다이어그램)을 생성하는 스크립트 ( )를 공개하는 사람이 있었으므로 소개합니다. 확대 된 프로젝트를 이해하기 위해 클래스 다이어그램과 같은 다이어그램을 사용하면 유용합니다. swiftuml 스크립트를 사용하여 PlantUML (텍스트 기반 UML 설명 언어)을 출력하면 PlantUML 소프트웨어를 사용하여 다이어그램을 볼 수 있습니다. swiftuml 실행... Swiftuml SKStoreReviewController.requestReview()를 통하고 있는데 리뷰 의뢰 화면이 표시되지 않을 때의 체크 사항 SKStoreReviewController.requestReview()를 발화시켜도 팝업이 표시되지 않는 경우에 가능한 원인은 1. 단말기의 시간을 변경하고 있습니다. 2. 네트워크 통신이 불가능합니다. 3. TestFlight를 통해 리뷰를 배포 테스트하려면 프로모션 코드를 통해 테스트하세요. iOS 10.3 이상에서 사용 가능 Apple이 공식적으로 제공하는 리뷰 소구용 API SKSto... SwiftSwift4swift3 Swift4와 Swift3가 혼재하는 라이브러리들을 CocoaPods로 어떻게든 한다 XCode9에서는 Swift4.0과 Swift3.2를 사용할 수 있습니다. 오픈 소스 라이브러리는 업데이트 상황이 마치 마치이므로, 프로젝트가 Swift4.0인데, 이용하고 싶은 라이브러리가 Swift3.2계 밖에 없거나 하는 경우가 남아 있습니다. CocoaPods에서 패키지 관리를 할 때, 프로젝트의 Swift 버전에 관계없이 각 라이브러리가 해당 Swift 버전으로 컴파일되도록 그리고 ... CocoaPodsSwift4Swiftswift3Xcode Swift의 배열에서 부분열을 꺼내면 Array형이 아닌 ArraySlice형이 된다 Swift 3.2.0 Swift 3에서 배열에서 Range 객체를 사용하여 부분 열을 검색하는 경우 다음과 같은 코드로 구현할 수 있습니다. map1.swift 평상시 자신은 Swift를 쓸 때 형추론을 사용하지 않고 가능한 한 명시적인 형식 지정을 하는 버릇이 있었습니다. 또 부분열이므로 , 형도 같은 String 배열일 것이라고 생각해 다음과 같은 코드를 쓴 곳 map.error.swif... RangeSwiftswift3슬라이스배열 【Swift3】UITabBar의 Item의 이미지를 Storyboard로 설정 UITabBar의 Item에 이미지를 StoryBoard에서 설정하는 방법을 기술하고 싶습니다. 이미지 준비 (moon.png) UITabBarController 준비 1.Tab Bar Item 설정 System Item 의 부분을 Custom 로 변경 Selected Image 부분을 임의의 이미지로 변경 그러나 이대로는 잘 반영되지 2.Bar Item 설정 Image를 이전 이미지로 변경... UITabBarControllerXcode8SwiftUITabBarswift3 【iOS】UINavigationController에 View를 addSubview하여 앱 전체에서 계속 표시하는 방법 앱 상단에 View를 계속 표시하는 방법은 UIApplication에서 Windows를 가져 와서 addSubview로 볼 수 있지만, UINavigationController 또는 UITabBarController를 사용하는 경우 해당 subview를 사용하여 계속 표시할 수 있습니다. 그러나 이것이라고 추가한 View 아래에 본래 표시되는 View가 숨겨져 버립니다. 그래서 UINavig... UITabBarControllerSwiftUITabBarswift3UINavigationController iOS에서 정다각형 그리기 이것의 swift 버전 PolygonView 홀수각형일 때 도형의 중심이 view의 중심에 오지 않는 것이 조금 기분 나쁘다... iOSSwiftswift3 Instagram API로 OAuth 인증 (Swift3 버전) 당사에서 개발한 iOS 앱 에서는 Instagram에 등록된 사용자 정보를 사용하여 로그인하는 기능을 구현했습니다. Instagram에 등록 된 사용자 정보를 얻으려면 Instagram API를 사용해야했지만 Instagram은 API를 사용하기위한 iOS 용 SDK가 배포되지 않았기 때문에 WebView를 사용하여 꾸준히 구현 했습니다. 아래 단계에 따라 Instagram 사용자 ID를 얻... InstagramSwiftOAuthWKWebViewswift3 앱 내 Touch ID를 사용한 사용자 인증 모바일 장치의 경우 인증이 중요합니다 (모바일이 아닐지라도) iOS 기기에는 Touch ID라는 지문 인증 기능이 내장되어 있습니다. Touch ID는 놀랍도록 쉽게 앱에서 사용할 수 있습니다. Xcode 8.3.3 Swift 3.1 iOS 10.3 LAContext 클래스 이 클래스를 이용해 인증을 실시합니다. Touch ID 탑재 된 장치의 경우 Touch ID (또는 Passcode)를... iOSSwiftTouchIDswift3 Xcode 8에서 자동 생성되는 Core Data 엔터티의 소스 파일 Xcode 8부터는 NSManagedObject의 서브 클래스 (이하 엔티티와 설명)가 자동 생성 될 수 있습니다. 이전과 같이, 메뉴로부터 [Editor] -> [Create NSManagedObject Subclass...] 로서 생성할 필요가 없습니다 클래스 정의를 사용자 정의하고 싶다면 직접 생성 할 수 있습니다. 선택하는 옵션에 따라 자동 생성되는 것이 다르므로 그 요약입니다. ma... iOSXcode8Swiftswift3Xcode 이미지 합성 Swift3 UIGraphicsBeginImageContextWithOptions 에서 UIGraphicsEndImageContext() 중에서 이미지를 합성합니다. 이 중 draw() 함수를 사용하여 합성할 이미지를 사용합니다. 왜 draw() 함수를 사용하면 2장의 화상이 합성되는지 내용의 구조는 잘 모르겠지만, 어쨌든 아래와 같이 실장하는 것으로 2개의 화상은 합성됩니다. 합성된 이미지는 UIGra... XcodeSwiftXcode8swift3 【swift3】NotificationCenter를 사용하여 포그라운드 복귀시 처리 구현 구그는 심플한 것을 찾지 못했기 때문에 AppDelegate.swift ViewController.swift ViewController.swift... NSNotificationCenteriOSSwiftswift3NSNotification 이전 기사 보기