본문 바로가기

Ios24

Ad Hoc으로 IOS 어플리케이션 내부 배포하기 https://es1015.tistory.com/317 [iOS] Adhoc 용 IPA 생성 및 배포Ad Hoc용 IPA 생성법 Ad Hoc 참고사항 한정된 인원의 사용자에게 내부 배포 또는 테스트 용으로 사용 iPhone, iPad, iPod touch, Apple Watch, Apple TV 각 100대씩 설정 가능하며, 멤버십 갱신 1년 기준 1. 프로비저es1015.tistory.com다음의 글을 참조하였습니다. Ad Hoc으로 IOS 어플리케이션 내부 배포하기 1인 개발자 혹은 100명 이하의 사용자가 사용하는 것을 염두에 둘 경우에 엔터프라이즈 id를 사용하지는 않는다.  이 경우에 adhoc을 통해서 사내에 어플리케이션을 배포할 수 있다. Ad Hoc은 언제 사용할까?- 한정된 인원의 사용자.. 2024. 9. 9.
RESTful API 사용하기 1. URLSessionURLSession은 Swift에서 HTTP 요청을 처리하기 위한 기본 클래스입니다.이 클래스는 서버에 요청을 보내고, 서버로부터 응답을 받아서 처리하는 역할을 합니다. URLSession은 네트워크 작업을 처리하는 다양한 메서드를 제공하며, 데이터 작업, 파일 작업, 다운로드 작업 등을 지원합니다. 예를 들어서, GET 요청을 통해서 서버에서 데이터를 가져오고 싶다면, URLSession의 dataTask(with : completionHandler:) 메서드를 사용할 수 있습니다. 이 메서드는 지정된 URL로 요청을 보내고, 응답 데이터를 클로저를 통해 처리할 수 있게 해줍니다.   2. CodableCodable 프로토콜은 Swift에서 데이터를 쉽게 인코딩하고 디코딩할 수 .. 2024. 8. 21.
약한 참조와 강한 참조 1. 강한 참조 Strong Reference기본값스위프트에서 모든 참조는 기본적으로 strong입니다. 즉, 클래스 인스턴스를 다른 변수를 할당하면, 그 변수는 해당 인스턴스를 참조하게 됩니다. 동작방식강한 참조는 참조된 객체의 를 증가시킵니다. 이 참조 횟수가 0이 되면 해당 객체는 메모리에서 해제됩니다. 장점객체가 강한 참조를 받으면 메모리에서 해제되지 않고, 필요한 동안 유지됩니다. 문제점잘못 사용하면 이 발생할 수 있습니다. 이것은 두 객체가 서로를 강하게 참조하여 참조횟수가 0이 되지 않아서 메모리에서 해제되지 않는 문제를 일으킵니다. 이것은 메모리 누수를 초래할 수 있습니다. 사용시기객체의 생명 주기를 관리할 때, 즉 객체가 살아있는 동안 계속 유지되어야 할 경우에 사용합니다.예를 들어서,.. 2024. 8. 19.
뷰 컨트롤러 간에 데이터를 전달하는 방법 UIkit을 사용할 때 뷰 컨트롤러 간에 데이터를 전달하는 방법은 여러가지가 있다. 1. 세그 segue를 이용한 데이터 전달스토리 보드를 사용하여 뷰 컨트롤러 간에 세그를 설정한 경우에 prepare(for: sender:) 메서드를 override 해서 데이터를 전달할 수 있다.// 데이터를 보내는 쪽의 뷰 컨트롤러class SendingViewController : UIViewController{ var dataToSend : String = "Hello, this is data" override func prepare( for segue : UIStoryboardSegue, sender : Any? ){ if segue.identifier = "showSecondViewCont.. 2024. 8. 19.
클로저에 대해서 알아보자 클로저- 익명함수 또는 내장함수라고 불립니다.- 코드에서 일급 객체로 사용할 수 있는 기능블록입니다.- 클로저는 코드에서 다른 함수로 전달되거나, 변수에 저장되거나, 나중에 호출될 수 있습니다.- 함수와 매우 유사하지만 정확히 함수는 아닙니다.  클로저는 크게 3가지 형태로 사용됩니다. 1. 전역함수 _ 이름이 있으며, 특정 컨텍스트에 속하지 않습니다. 2. 중첩함수_ 이름이 있으며, 다른 함수 내부에 정의됩니다. 3. 클로저 표현식_ 이름이 없으며, 간결한 문법으로 작성할 수 있습니다. 일반적으로 이 형태를 클로저라고 부릅니다.  클로저의 기본문법클로저는 입력 파라미터, 반환타입, 그리고 실행할 코드 블록으로 구성됩니다.{ (parameters) -> returnType in // 실행할 코드} 예시l.. 2024. 8. 16.
self에 대해서 알아보자 self는 swift에서 객체 내부에서 현재 인스턴스를 참조하기 위해서 사용되는 키워드입니다. self를 사용하는 경우는 다음과 같습니다. 1. 인스턴스 프로퍼티와 메서드 접근self는 클래스, 구조체, 또는 열거형의 인스턴스 내에서 그 인스턴스의 프로퍼티나 메서드를 참조할 때 사용됩니다.일반적으로 프로퍼티 이름과 메서드 이름이 고유하기 때문에 self를 생략할 수 있지만, 이름이 충돌할 경우에는 self를 사용해야 합니다.struct Person { var name: String func greet() { print("Hello, my name is \(self.name).") }}let person = Person(name: "Alice")person.greet().. 2024. 8. 16.
struct 그리고 class struct와 class의 비교1. 값 타입 vs 참조타입struct는 값 타입입니다.struct로 정의된 인스턴스를 다른 변수나 상수에 할당하거나 함수의 인자로 전달할 때, 복사본이 생성됩니다.즉, struct 인스턴스는 독립적인 복사본으로 존재하게 되며, 원본과 복사본은 서로 독립적입니다.struct MyStruct { var value: Int}var a = MyStruct(value: 10)var b = a // a의 복사본이 b에 할당됩니다.b.value = 20 // b의 value만 변경되며, a의 value는 변경되지 않습니다.print(a.value) // 10print(b.value) // 20 class는 참조타입입니다.class로 정의된 인스턴스를 다른 변수나 상수에 할.. 2024. 8. 16.
as에 대해서 알아보자 as스위프트에서 as 키워드는 주로 타입 캐스팅에 사용됩니다. 3가지 형태로 주로 사용합니다.asas!as?  사용되는 경우는 다음과 같습니다.  as1. 업캐스팅자식 클래스나 프로토콜을 부모 클래스나 프로토콜로 변환할 때 사용합니다. 업캐스팅은 항상 안전하기 때문에 강제로 변환해도 됩니다.class Animal {}class Dog: Animal {}let dog = Dog()let animal: Animal = dog as Animal  2. 프로토콜 캐스팅특정 클래스나 구조체가 특정 프로토콜을 준수한다는 것을 명시할 때 사용됩니다.protocol Pet {}class Cat : Pet {}let pet : Pet = Cat() as Pet  3. 리터럴 값을 특정 타입으로 변환할때도 사용됩니다.le.. 2024. 8. 16.
DispatchQueue에 대해서 알아보자! DispatchQueue - 스위프트에서 멀티스레드 프로그래밍을 관리하기 위해서 사용하는 기본도구 중 하나- 작업을 비동기적으로 실행하거나 지연시킬 수 있는 queue를 제공합니다. 이 큐를 통해서 스레드 간의 작업을 관리하고 동시성 문제를 해결할 수 있습니다.   디스패치 큐는 크게 2가지 종류로 나뉩니다.Main Queue 메인 스레드에서 작업을 실행하는 큐입니다. 주로 UI 업데이트와 같이 메인 스레드에서 실행되어야하는 작업을 처리합니다. Global Queue시스템에서 제공하는 전역 큐입니다. 여러가지 우선순위(QOS : quality of service)를 갖는 여러가지 큐들이 있습니다. 이 큐들은 백그라운드에서 작업을 처리할 때 주로 사용됩니다.  사용Main Queue메인큐는 주로 UI업데이.. 2024. 8. 16.
async-await / try Swift에서의 async / await- async와 await은 스위프트에서 비동기 코드를 동기식으로 작성할 수 있도록 도와줍니다.- 이전엔 비동기 작업을 처리하기 위해서 콜백이나 Completion Handler를 사용해야 했지만, 코드가 복잡해지고 가독성이 떨어집니다. 콜백 지옥..- 반면에, async await을 사용하면 비동기 작업이 마치 동기 작업처럼 보이게 작성할 수 있습니다. - async : 함수나 메서드가 비동기적으로 실행됨을 나타냅니다. 이 키워드를 사용하면 해당 함수가 비동기 함수가 되어, 호출시에 await 키워드를 사용해야 합니다.- await : 비동기 함수나 작업의 결과를 기다립니다. 이 키워드는 async 함수 안에서만 사용될 수 있습니다.// 비동기 함수의 예func .. 2024. 8. 16.