ios
-
[ios - Swift] FileManager 사용한 저장, 불러오기ios 2021. 1. 5. 18:09
이번 글에서는 FileManager를 사용해서 앱 내 저장 공간에 데이터를 저장 및 불러오기를 처리하도록 하겠습니다. 파일을 저장 또는 불러오려면 파일의 위치를 알아야 하는데 파일의 위치는 URL로 표현할 수 있습니다. 우선 파일의 경로를 앱/videos/MyFileSaveName.mp4라고 생각한다면 아래와 같이 사용할 수 있습니다. guard let docsUrl = FileManager().urls(for: .documentDirectory, in: .userDomainMask).first else { return } let dirUrl = docsUrl.appendingPathComponent("videos") let saveUrl = dirUrl.appendingPathComponent("MyF..
-
[ios - Swift] MapView 사용하기 (MKMapView 2 / 2)ios 2020. 12. 23. 11:01
이번 글에서는 지난 글에서 얘기한 것과 같이 지역 내 검색 및 좌표에 대한 정보를 추출하는 방법을 알아보도록 하겠습니다. 위 gif를 살펴보면 맵 뷰의 현재 위치, 중앙 위치의 주소, 주변 가게들이 나오는 것을 확인할 수 있습니다. 해당 기능을 사용할 수 있도록 하나씩 작성해 보도록 하겠습니다. 1. 내 위치 찾기 @IBAction func changeValue(_ sender: UISegmentedControl) { // "현재 위치" 선택 - 현재 위치 표시 if sender.selectedSegmentIndex == 0 { self.mainTitle.text = "" self.subTitle.text = "" // 사용자의 현재 위치 locationManager.startUpdatingLocatio..
-
[ios - Swift] MapView 사용하기 (MKMapView 1 / 2)ios 2020. 12. 22. 17:21
이번 글에서는 MapView 이용한 간단한 위치 앱을 만들어 보도록 하겠습니다. init.plist 에서 지도 권한을 요청할 수 있도록 추가합니다. 화면 구성은 다음과 같은 뷰로 구성되어있고 사용하려는 목적은 아래와 같습니다. Segmented Control : 현 위치와 특정 위치로 이동합니다. CollectionView : 맵 뷰에 나타나는 지역에서 해당하는 특정 건물을 찾습니다. Label : 현 위치와 주소를 보여줍니다. 이제 viewDidLoad에서 델리게이트 및 권한 요구 코드를 작성해 주도록 합니다. let locationManager = CLLocationManager() override func viewDidLoad() { super.viewDidLoad() mapkit.delegate ..
-
[ios - Swift] Alamofire Exampleios 2020. 12. 21. 09:40
맥북에서 프로젝트 파일이 사라지는 버그가 있는 것 같아 관련 소스가 많이 사라져 내용이 빈약합니다... 이번 글에서는 Alamofire 라이브러리에 대한 간단한 코드만 작성하도록 하겠습니다. 우선 서버는 톰캣 서버를 이용했으며 결과 값 수신은 json을 이용해 리턴 받을 수 있도록 별도의 서버를 구축하면 됩니다. 1. request guard let url = URL(string: "http://192.168.0.1/rest/member/members.json") else { return } let params = [ "identifier" : "공유", "password" : 1234, ] as [String : Any] let alamo = AF.request(url , method: .post , ..
-
[ios - Swift] PHCachingImageManager 사용하기ios 2020. 12. 14. 09:43
이번 글에서는 포토 라이브러리를 만들어볼 예정입니다. 포토 라이브러리에 접근하는 방법은 PHImageManager, PHCachingImageManager 두 가지이며 사용방법은 동일합니다. PHCachingImageManager를 사용하는 것이 이미지를 빨리 가져올 수 있으므로 PHCachingImageManager을 사용하도록 하겠습니다. let imageManager:PHCachingImageManager = PHCachingImageManager() var imageFetch: PHFetchResult? 공유 이미지 관리자 개체와 사진에 대한 메타데이터를 관리할 수 있는 리스트를 선언해 주도록 합니다. PHAsset 에는 사진이 아닌 메타데이터만을 가지고 있습니다. func loadPHCachin..
-
[ios - Swift] UIImageView Gesture 동작 안하는 문제ios 2020. 12. 8. 11:26
UIImageView에 제스처가 작동하지 않을 경우 해결방법은 다음과 같이 설정하면 됩니다. self.gestureRecognizers?.append(UITapGestureRecognizer(target: self, action: #selector(touchesTap))) 기존 제스쳐를 등록할 때 사용했던 방법은 위와 같으며 테이블 뷰에 등록시 정상적으로 작동하는것을 확인하였습니다. 다만 UIImageView에서 제스쳐를 사용하고자 할 경우 isUserInteractionEnabled를 true 로 변경해줘야합니다. true: 이벤트가 정상적으로 전달됩니다. false : 터치, 누르기, 키보드 및 포커스 이벤트가 무시됩니다. isUserInteractionEnabled 만 True 로 설정하더라도 정상..
-
[ios - Swift] Foreground Push 알림 사용 (UNUserNotificationCenter 2/2)ios 2020. 12. 6. 13:29
지난 글에서 알림을 Push 하는 것을 배웠습니다. 알림이 백그라운드 상태에서만 동작하기 때문에 이번 글에서는 포그라운드 상태에서 알림을 수신받을 수 있도록 코드를 추가해 보도록 하겠습니다. UNUserNotificationCenter 사용법을 모르신다면 이곳에서 확인해 주세요. 1. userNotificationCenter 추가 앱이 포그라운드에서 실행되는 동안 도착한 알람을 처리하는 델리게이트입니다. UNUserNotificationCenterDelegate에 다음 코드를 추가해 줍니다. func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletion..
-
[ios - Swift] Push 알림 사용하기 (UNUserNotificationCenter 1/2)ios 2020. 12. 6. 01:50
이번 글에서는 UNUserNotificationCenter를 사용해서 앱 알림을 사용해보도록 하겠습니다. 1. UNUserNotificationCenter override func viewDidLoad() { super.viewDidLoad() UNUserNotificationCenter.current().delegate = self } func permission_Notification() { let notification = UNUserNotificationCenter.current() notification.getNotificationSettings { (setting) in if setting.authorizationStatus == .authorized { print("Push OK") } el..