개발일기

    Swift UIKit - 웹과 관련되어(웹뷰, 아웃링크, 사파리)

    개발하다가 웹으로 연결하고 싶은데 다양한 방법이 있다는 것을 알게되었다. 크게 3가지로 말할 수 있는데1. 내부 웹열기2. 외부 웹열기3. 웹뷰로 열기 자세한건 아래 블로그에서 많이 도움받았다.https://ios-daniel-yang.tistory.com/112#google_vignette [Swift/ TIL #36] Web 보여주기 (Safari 앱, SFSafariViewController, WKWebView)[TIL #36] 2023 / 07 / 12 앱 내에서 Web을 보여주는 방법을 간단히 정리해보려 합니다. 크게 3가지 방법으로 Web을 보여줄 수 있습니다. 1. Safari 앱 직접 사용 2. SFSafariViewController 사용 3. WKWebView 사용 Safariios-d..

    IOS - MVVM

    MVVMViewMVVM은 MVC와 달리 ViewController를 View로 취급한다.모든 UI 로직이 ViewModel에 있으므로 View/ViewController가 가벼워진다.(MVC에서보다)View는 ViewModel을 참조한다(반대는 X).View는 Model을 참조하지 않는다(반대도 O).View는 발행(publication)을 구독(subscribe)하고, 주시(관찰, observe)한다.ViewModelMVVM은 ViewModel을 통해 UI 로직과 비즈니스 로직을 분리했다.MVVM은 MVC와 달리 ViewModel이 있다.ViewModel은 Model을 참조한다(반대는 X).View 없이 테스트가 가능 하다.ViewModel은 View input으로부터 Model을 업데이트한다.View..

    UIKit - delegate 패턴

    맨 처음 iOS개발을 시작할 때 가장 헷갈렸던 delegate패턴 정리해놓은게 있어서 올린다...도저히 이해가 가지 않아서 이것저것 막 개념을 외웠더니 지금은 거의 습관처럼 잘 쓰고 있다 delegate프로토콜과 그 안에 메소드 선언(정의는 nono) → protocol Myprotocol{ func sendData() }데이터 보내는 쪽에서 델리게이트 변수 선언(자료형은 옵셔널 프로토콜타입) → var delegate : MyProtocol?데이터 보내는 쪽에서 보내는 action함수에 메소드 실행 → delegate?.sendData(name: title)데이터 받는 쪽에서 프로토콜 상속 후 메소드를 정의데이터 받는쪽에서 데이터 보내는 쪽의 delegate변수를 self로 정의→ 데이터보내는쪽컨트롤러..

    iOS - DeepLink

    2025년 8월에 파이어베이스 동적링크 서비스 지원 중단.. IOS에서 딥링크를 구현하는 방법URL Scheme어떤 스키마를 사용할 건지 앱에 설정(프로젝트 Info → URL Types에서 스키마 등록)Universal Links프로젝트 Signing & Capabilities > Associated Domains에 Domain을 등록(다이나믹 링크도 마찬가지)외부에서 딥링크를 탭하면func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) 여기에서 앱을 시작Dynamic LinksFirebase에서 제공하는 딥링크의 일종(초대장 보내기 등에 사용)링크를 미리 만들어..

    iOS - 앱 추적권한 호출지점 이슈

    추적권한으로 인해 종종 앱이 죽는경우가 있다.이걸로 삽질하다가....https://green1229.tistory.com/182 App Tracking Transparency안녕하세요. 그린입니다🟢 이번 포스팅에서는 App Tracking Transparency에 대해 학습해보겠습니다🧑🏻‍💻 우선 App Tracking Transparency가 무엇인지 알아보시죠! App Tracking Transparency? 앱 추적 투명성이green1229.tistory.com 참고하니 해결완료!

    iOS 개발할 때 유용한 사이트 모음

    애플 개발자 문서 한글 번역 애플 개발자 문서 한글 번역 | 사과애플 개발자 문서 한글 번역 본 문서는 Gitbook으로 작성되었습니다. GitHub에서 읽고 계신 분은 Gitbook 링크로 접속해서 보시는 것이 더 편합니다. 들어가기 전에 본 문서는 Apple 개발자 페이지의 Documelod-it.gitbook.io The Swift Programming Language (한국어) The Swift Programming Language (한국어) | SwiftLast updated 3 months agobbiguduk.gitbook.io UIActivityIndicatorView.HidesWhenStopped 속성 (UIKit) UIActivityIndicatorView.HidesWhenStopped..

    UIView.animate 메모리릭 관련하여...

    https://gyuios.tistory.com/219 iOS) UIView.animate(...) 왜 메모리릭이 발생하지 않나요?Is it necessary to use [unowned self] in closures of UIView.animateWithDuration(...)? 이 글은 위의 stackoverflow 질문을 읽고 정리해본 글입니다. 작성자님의 질문을 아래와 같았다. 아래의 코드는 메모리 릭을 피할 수gyuios.tistory.com ARC에 대해 다시 공부하는게 좋을듯https://yudonlee.tistory.com/35 [Swift] Strong Reference Cycle - ARC 기초 2탄안녕하세요, 지난 포스팅에선 ARC의 정의, ARC의 작동원리에 대해서 공부했습니다. ..

    [Xcode] - static Library

    static library 정리https://zeddios.tistory.com/1308 (Static/Dynamic) Library안녕하세요 :) Zedd입니다. ~ 애플 문서를 보던 중 ~ Overview of Dynamic Libraries Overview of Dynamic Libraries Two important factors that determine the performance of apps are their launch times and their memory footprints. Reducing the sizezeddios.tistory.com staticlibrary로 나온 .a 파일과 헤더파일 → 헤더파일이 해당이름의 .a파일을 가르키고있기 때문에 .a파일의 이름을 바꾸게 되면 찾지..

    Xcode build setting 때 inherited 의미

    상속이라는 의미로 나보다 한단계 낮은 우선순위의 값을 상속받겠다는 뜻! build setting에서 우선순위는 1. 타겟의 설정값 2. 설정파일의 설정값 3. 프로젝트의 설정값 4. 기본값 Pod에서는 설정파일의 설정값(Config file)을 이용하여 빌드 설정을 세팅한다. 하지만 Pod 에서 설정한 것 보다 개발자가 타겟에 직접 설정한 세팅이 우선순위가 높기 때문에 Pod은 건들 수 없게 된다.

    [Xcode] 멀티 디바이스 세팅(feat. rosetta)

    멀티 디바이스 대응(Universal app)UIRequiredDeviceCapabilities 설정을 arm 7으로 세팅(PropertyList에서 세팅, info.plist)https://ios-development.tistory.com/805 [iOS - XCode] Universal App, armv7, arm64 멀티 디바이스 대응, 바이너리 파일 설정 (CISC, RISC)arm이란? ARM(Acorn RISC Machine) 기반의 cpi를 탑재한 것 컴퓨터 구조 기초 - Architecture의 종류 CISC (Complex Instruction Set Computer): 모든 코드 언어 문장들에 대해 각각 기계 명령어가 대응 (복잡하고 기능이ios-development.tistory.co..