전체 글640 개발일지 14일차 (06/17) - 아이그립X 연동 보호되어 있는 글 입니다. 2022. 6. 17. 개발일지 13일차 (06/15) - 푸쉬알람 로직 변경, 아이그립 x 연동 보호되어 있는 글 입니다. 2022. 6. 17. Notification push 앱에서 알람 거부에서 허용으로 설정 결론을 말하자면 거의 불가능이다. '거의'라고 말한 이유는 방법이 하나 있기 때문이다. 알람 거부에서 허용으로 바꾸려면 아이폰 설정에 들어가서 허용으로 바꾸라고 해야한다. (아래의 사진확인) 따라서 앱 자체에서 거부된 권한을 허용으로 변경할 수는 없다. 2022. 6. 14. 개발일지 12일차 (06/14) - 하자보수 진행 보호되어 있는 글 입니다. 2022. 6. 14. 개발일지 11일차 (06/13) - SQ 수정 보호되어 있는 글 입니다. 2022. 6. 13. 개발일지 10일차 (06/12) - 소스코드 분석 보호되어 있는 글 입니다. 2022. 6. 12. Delegate 패턴 아래의 글은 해당 블로그를 참고하여 작성하였습니다. (+ 다른 블로그) 1. Delegate는 무엇인가? Delegate란 어떤 객체가 해야 할 일을 부분적으로 확장해서 대신 처리한다. 2. Delegate는 어디에 사용되는가? Delegate는 두 가지만 기억하면 된다. 1. 처리하라고 시키는 객체 2. 대신 처리해줄 객체 0. 상황 상황: 여러곳에서 사용할 수 있는 메시지 창을 만들려고한다. 메시창에는 버튼이 있고 해당 버튼을 누르면 ViewController는 무슨 버튼을 눌렀는지 확인해서 그 버튼이 이벤트가 발생하면 해야하는 일들을 처리해야 한다고 한다. 1. 처리하라고 객체 우선 대신 처리하라고 시키는 객체를 만들기 전에 우리는 객체의 프로토콜을 선언해주는 작업이 필요하다. (이후 대신 처리해줄.. 2022. 6. 12. Exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:] 에러 위치 확인하기. "Exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]" 이 에러를 접하게 되면 어디에서 에러가 발생했는지는 나타나지 않고 아래처럼 @main에서 오류 문구가 나타난다. 따라서 이번에는 break point navigator를 이용하여 해당 에러의 위치를 파악하고 에러를 해결해보자. (에러 해결법은 각자가 구현하자.) 1. Break Point Navigator를 클릭하고 아래에 있는 +버튼을 눌러준다. (사진 참고) 2. Exception BreakPoint를 클릭해주고 Exception 언어는 All로 설정해준다. 3. 그리고 실행을 하게 되면 Exception 오류가 발생하는 위치에 BreakPoint가 잡히게된다. 이제 여.. 2022. 6. 12. 개발일지 9일차 (06/10) - SQ, 테스트 플라이트 보호되어 있는 글 입니다. 2022. 6. 11. 개발일지 8일차 (06/09) - SQ 수정 보호되어 있는 글 입니다. 2022. 6. 10. 개발일지 7일차 (06/08) -SQ49, SQ 60, SQ 63 보호되어 있는 글 입니다. 2022. 6. 8. textView행간 조절, 정렬, 폰트, 폰트 사이즈 설정하기 let explainText = "안녕하세요 \n iOSoo입니다." let style = NSMutableParagraphStyle() //단락 스타일 속성의 하위 속성 값을 변경하기 위한 개체입니다. style.lineSpacing = 5 //text 행간 조절 style.alignment = .center //text 정렬 let attributes = [NSAttributedString.Key.paragraphStyle : style] explanationTextView.attributedText = NSAttributedString(string: explainText, attributes: attributes) explanationTextView.font = .systemFont(ofSize: .. 2022. 6. 8. 개발일지 6일차 (06/07) - SQ 수정본 피드백 보호되어 있는 글 입니다. 2022. 6. 8. ICDeviceManager 중국어 해석 보호되어 있는 글 입니다. 2022. 6. 6. 개발일지 5일차 (06/06) - 공지사항 관련 View 딸려옴 수정 보호되어 있는 글 입니다. 2022. 6. 6. GitLab에서 GitHub로 저장소 옮기기 (미러링) 해당 블로그 참고 Gitlab 에서 Github 으로 저장소 옮기기 (미러링) 01. Gitlab 저장소 clone 되어 있으면 가마니 아니면 git clone `저장소 주소` 02. Github 저장소 만들기 03. 미러링하기 Gitlab 저장소에서 git push --mirror `옮길 저장소 주소` 브랜치랑 커밋 메세지까지 다.. sooya14.tistory.com 1. 터미널을 열고 아래의 명령어를 작성해준다. git clone '저장소 주소' 2. github에 저장소를 만든다. 3. 클론한 폴더에 (cd 폴더)를 이용해서 들어간 다음 아래의 명령어를 작성해준다. git push --mirror `옮길 저장소 주소` 2022. 6. 6. Pinch 제스처로 이미지 확대 축소하기 https://zeddios.tistory.com/343 Pinch 기본적인 코드는 해당 블로그 참고해서 작성 https://github.com/iOS-junsoo/Pinch 깃헙주소 1. 제한 없이 이미지 확대 축소하기 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() myView.isUserInteractionEnabled = true } var recognizerScale: CGFloat = 1.0 var maxScale: CGFloat = 2.0 var minScale: CGFloat = 1.0 @IBOutlet weak var myView: UIView! @IB.. 2022. 6. 5. 개발일지 4일차 (06/05) - SQ 14번(SR100 Charts관련) 보호되어 있는 글 입니다. 2022. 6. 5. 커밋 메시지 템플릿 💄💄 화면 UI 추가/수정 ⚡️⚡️ 성능 향상 ✨✨ 새로운 기능 🚧🚧 작업 진행 중 🔥🔥 코드나 파일 삭제 🐛🐛 버그 해결 🔧🔧 설정 파일 추가/수정 🎨🎨 파일, 코드 구조 개선 🚚🚚 리소스 이동/이름 변경 🍱🍱 에셋 추가/수정 👷👷 빌드파일 생성 💥💥놀라운 기능 소개 💡💡주석 추가/수정 💬💬스트링 파일 추가/수정 🌐🌐다국어 지원 📱📱반응형 디자인 🎉🎉프로젝트 시작 🙈🙈gitignore 추가 💩💩안좋은 코드 추가 2022. 6. 5. 라이브러리 Demo 파일 실행(Xcode) 오픈 라이브러리를 사용하려면 블로그를 참고해서 라이브러리를 사용해도 문제는 없다. 하지만 라이브러리를 더 잘 사용하기 위해서는 해당 라이브러리의 데모 파일을 살펴보면서 내가 원하는 스타일의 라이브러리를 찾아서 참고하면서 코드를 참고할 수 있다. 해당 설명은 Charts 라이브러리를 예시로 설명하고 있다. 1. 해당 라이브러리 GitHub로 들어가서 Zip 파일을 다운 받는다. (Download ZIP) 2. Zip파일을 압축해제하고 해당 파일에서 xcworkspace파일을 실행한다. 3. 프로젝트를 열면 1번 사진과 같이 되어있을텐데 2번 사진처럼 변경한 후 실행한다. 2022. 6. 5. 다른 사람과 프로젝트를 진행할 때 merge하는 방법(Xcode) Merge 방법 1. Commit하고 Push를 누른다. (Push는 내가 생성한 Brach에 한다.) -> 내가 수정한 브랜치를 최신화 하는 과정 Commit -> Push> 2. Current를 기존 Brach로 옮긴다. -> 해당 Branch의 상태는 다른 동료와 내가 커밋한 것이 없다. CheckOut (Switch)클릭> 3. 기존 Brach(ver 2)를 Pull 한다. -> 다른 사람의 코드로 업데이트된 기존 Brach(ver 2)를 당겨와 충돌을 방지한다. Pull> 4. 나의 Brach를 기존 Branch(ver 2)와 머지한다. (내가 수정한 코드를 기존 Brach(ver 2)에 올리는 과정) 5. 원격저장소와 로컬저장소의 버전은 또 다르기 때문에 푸쉬로 최신화시켜준다. (내가 수정한 .. 2022. 6. 4. 개발일지 3일차 (06/04) - 소스코드 분석 보호되어 있는 글 입니다. 2022. 6. 4. 개발일지 2일차 (06/03) - 소스코드 분석 보호되어 있는 글 입니다. 2022. 6. 3. 개발일지 1일차 (06/02) - 대략적인 앱 플로우 파악 보호되어 있는 글 입니다. 2022. 6. 2. Protocol (Yagom) 프로토콜 프로토콜은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 이니셜라이저등의 요구사항을 정의한다. (특정 기능이나 속성에 대한 설계도) 쉽게 말하면, 어떤 타입(구조체, 클래스, 열거형)에 "너는 이 기능이 꼭 필요해. 그러니깐 이 기능을 꼭 구현해!" 라고 강요하는 것과 같다. 구조체, 클래스, 열거형은 프로토콜을 채택해서 프로토콜의 요구사항을 실제로 구현할 수 있다. (여기서 채택이란, 어떤 타입이 "나는 이 기능을 수행할거야" 라고 말하는 것) 프로토콜의 정의 protocol 프로토콜 이름 { // 정의부 } 예시를 통해서 살펴보자. //말할 수 있다 라는 기능을 프로토콜로 나타낸 것 protocol Talkable { var topic: String { get set } var laungua.. 2022. 6. 1. 이전 1 ··· 20 21 22 23 24 25 26 다음