개발일기/IOS

    [Xcode] build setting - build active architecture only

    build setting - build active architecture onlyYes: 디버그 용도- 빠른 속도, 단 32bit아키텍처만 지원32bit 아키텍처: armv7, armv7sNo: 배포 용도- 64bit 아키텍처도 지원64bit 아키틱쳐: arm64

    Xcode 시뮬레이터 빌드 안되는 문제

    rosetta 시뮬레이터로 설정해줘야한다!! ! rosetta가 뭐임?✅ Rosetta는 인텔 프로그램에서 OS X와의 호환성을 연결해주는 백그라운드 프로그램이라고 합니다. 응용 프로그램중에 응용 프로그램(Intel)로 표시되어 있는 프로그램들은 M1같이 Apple 실리콘이 탑재된 맥북에서 작동하기 위해서는 Rosetta가 필요합니다. Xcode는 응용 프로그램(Universal)로 되어 있기 때문에 Apple 실리콘과 인텔을 모두 지원하는 걸 알 수 있고, 범용 앱이기에 Rosetta가 필요하지 않습니다. ! 굳이 사용하지 않아도 arm과 x86_64 를 모두 지원하는데 굳이 Rosetta를 누르는 이유?✅  해당 설정을 누르게 되면 Universal 앱에서 Apple Silicon을 지원하도록 업데이..

    [UiKit] pod install 오류

    [!] CocoaPods could not find compatible versions for pod "MobWithAD": In Podfile: MobWithAD (= 1.2.4)None of your spec sources contain a spec satisfying the dependency: `MobWithAD (= 1.2.4)`.You have either: * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`. * mistyped the name or version. * not added the source repo that hosts the Pod..

    [UiKit] 뷰 레이아웃 관련 메서드 정리...

    View와 ViewController 레이아웃 사이클ViewController 를 표시했을 때, 3단계로 호출이된다업데이트 : 오토레이아웃의 Constraints를 갱신한다. Constraints의 갱신은 SubView로부터 SuperView의 순서대로 호출된다.레이아웃 : Constraints를 바탕으로 레이아웃을 실행한다. 여기에서 view의 center와 bounds를 결정한다. 레이아웃의 갱신은 superview로 부터 subview의 순서로 호출된다.그리기 : 레이아웃 후, UIView의 drawRect(rect:CGRect)가 호출된다. 이때는 CoreGraphics를 사용하여 그린다.viewController에서 레이아웃이 결정되는 과정viewWillLayoutSubViews() 메서드 호출..

    [UiKit] UIPanGesture setTransition(.zero) 해주는 이유

    💡 setTranslation(.zero)를 해줘야하는이유이동 범위를 제한해주었다면, setTranslation메서드를 적어주지 않아도 작동하지만, 손가락 움직임에 따라 변하는 느낌보다는 조금만 건드려도 훅 올라가는 느낌이 든다.이유는 pan제스처 인식기가 원점에서부터 이동한 거리를 따라서 이동해야하는데, .zero로 설정해주지않으면 바로 이전 위치로부터 떨어진 거리를 계산하기 때문에 훅 올라가고 훅 내려가는 것이다. 따라서 setTranslation메서드를 적어주는 것이 좋음!

    [Swift] - xcode phase script Execution failed with a nonzero exit code 에러

    xcode가 14.3 업데이트 되면서 생기는 버그(에러)라고 함Pods - appname - frameworks.sh로 이동후 read link와 “”사이에 -f 입력 후 재빌드 하면 해결xcode 14.3 아카이브시 PhaseScriptExecution failed with a nonzero exit code 에러 해결방법 xcode 14.3 아카이브시 PhaseScriptExecution failed with a nonzero exit code 에러 해결방법xcode에서 앱을 배포하고자 아카이브시 PhaseScriptExecution failed with a nonzero exit code 에러가 발생하여 원인을 찾아보았더니 xcode가 버전이 업데이트 되면서 문제가 생긴듯 보였다. 그래서 열심히 찾..

    [Swift] - WebView(웹뷰) 사용할 때 인터넷 허용

    웹 뷰 사용할 때 인터넷 허용info.plist 로 가서 목록 추가엔터입력하고 App Transport security setting 추가엔터누르고 안에 Allow Arbitrary Loads추가, Boolean형식, YES로 설정Project의 Build Phases로 이동Link Binary with Libraries 이동 + 버튼 누르고 WebKit.framework 추가

    [Swift] - Lottie 애니메이션 실습 삽질정리(feat. sandbox)

    [Swift] - Lottie 애니메이션 실습 삽질정리(feat. sandbox)

    UIKitUI Kit?→ 코코아 터치 계층에 포함된 UIKit은 IOS 애플리케이션 개발 시 사용자에게 보여질 화면을 구성하고 사용자 액션 대응에 관련된 다양한 요소들을 포함한다.→ IOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크이다.→ UIKit프레임워크는 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함한다.그리고 테이블 뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창 등 애플리케이션 화면을 구성하는 요소들을 포함한다.UIKit클래스 중 UI responder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드에서만 사용한다.UIKit은 IOS와 tvOS플랫폼에서 사용한다. 마주친..

    [IOS] - 기초 공부

    IOS란 애플사가 만든 모바일 운영체제로 아이폰, 아이패드에 사용되는 운영체제이다. IOS 개발언어 스위프트 객체지향 언어로 애플에서 개발한 현대적인 범용 프로그래밍 언어를 의미 장점 코드를 간결하게 구현할 수 있다. 객체 지향 개념을 사용하여 유연하게 개발이 가능하다 멀티 플랫폼 개발이 지원되고 개발시간이 짧다. 다양한 사용자 인터페이스 기능을 제공한다 단점 상대적으로 오브젝티브-C보다 속도가 느리다. 오브젝티브 - C 객체지향언어로 스위프트가 출시되기 전에 IOS개발에 주로 사용되는 프로그래밍 언어 장점 스위프트보다 더 빠르다 상대적으로 더 안정적이다 더 많은 엔진이 구현되어 있다 엔터프라이즈 레벨 앱 개발이 가능하다 단점 간단한 작업을 수행하기 위해서는 많은 코드가 필요하다 러닝커브가 높다 디버깅을..

    [Swift] - Notification 정리

    Notification장점많은 줄의 코드가 필요없어 쉽게 구현가능다수의 객체들에게 동시에 이벤트의 발생을 알려줄 수 있다.Notification과 관련된 정보를 Any? 타입의 object, [AnyHashable:Any]? 타입의 userInfo로 전달할 수 있다.NotificationCenter를 통해 정보를 저장하기 위한 구조체는 name, object, userInfo로 구성되어있다. 옵저버에게 전달되는 구조체로 정보가 담겨있고, 해당 알림을 등록한 옵저버에게만 전달된다.var name: Notification.Namevar object: Any?userInfo: [AnyHashable: Any]?name: 전달하고자하는 notification의 이름으로 이걸 통해 알림을 식별한다.object: ..