본문 바로가기

아이폰 개발/ios 개념&튜토리얼86

iOS CLLocation 위도경도, 속도, 이동거리 구하기 iOS CLLocation 위도경도, 속도, 이동거리 구하기 #.아래 포스팅 이어서 작성 iOS CoreLocation 공통 모듈 - 싱글톤 [STEP 1] 이전위치, 새 위치, 거리 , 속도를 위한 변수 추가 @property (nonatomic , strong) CLLocation *oldLocation; @property (nonatomic , strong) CLLocation *mynewLocation; @property (nonatomic , strong) NSString *distance; @property (nonatomic, strong) NSMutableArray *cLLocationArray; @property double speed; [STEP 2] 위치값 저장을 위한 배열 초기화 _.. 2021. 2. 18.
iOS 애플 중간 인증서 애플 중간 인증서 Apple Worldwide Developer Relations Intermediate Certificate 어쩌다가 한번씩 xcode 에서 앱 빌드하다가 xcode cannot launch bundleid... 이런식으로 팝업창이 뜬는경우가 있다. 빌드는 정상적으로 실행되고, 설치되 되는데 앱 실행시 앱이 죽어버린다. 문제는 애플 중간인증서다. 이 인증서가 없으면 애플 개발자 사이트에서 생성한 인증서를 키체인에서 열어보면 "신뢰되지 않은 인증서"라고 떠있을 것이다. 그것도 빨간글씨로... 인증서를 더블클릭한 후에 모두 신뢰하기 를 선택해도 마찬가지다. 원인은 애플에서 발행하는 애플 중간인증서가 삭제되었거나 만료되었거나 등등 문제가 생겼기 때문이다. xcode 14 이상 버전에서는 자동.. 2021. 2. 18.
iOS 애플로그인 - Apple Login 예제 iOS 애플로그인 - Apple Login 예제 LoginVC.h 0.Target => Siging & Capabilitis => Sign In with Apple 체크 1.AuthenticationServices 라이브러리 import 2.ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding 프로토콜 채택 3.스택뷰 IBOutlet 변수 생성 #import #import NS_ASSUME_NONNULL_BEGIN @interface LoginVC : UIViewController @property (strong, nonatomic) IBOutlet UIStackView *stackView; @end.. 2021. 2. 17.
iOS KeyChain 예제 - 키체인 iOS KeyChain 예제 KeychainItemWrapper.h #import /* The KeychainItemWrapper class is an abstraction layer for the iPhone Keychain communication. It is merely a simple wrapper to provide a distinct barrier between all the idiosyncracies involved with the Keychain CF/NS container objects. */ @interface KeychainItemWrapper : NSObject // Designated initializer. - (id)initWithIdentifier: (NSString *)ide.. 2021. 2. 16.
iOS Geofencing 예제 - 특정위치 안에 들어갔을때 알림(NSCoding, UserNotification) iOS Geofencing 예제 - 특정위치 안에 들어갔을때 알림(NSCoding, UserNotification) ✅ 구현 기능 1.알림을 받을 위치 지정하기(반경 + note 지정) 2.알림 받을 위치 어노테이션(마커) 표시하기 3.지도에서 어노테이션 클릭시 정보 표출 + 삭제가능 4.지정한 위치에 들어갔을때 or 벗어났을때 알림 기능 0.StoryBoard ✅ 유틸 클래스 구현 1. 커스텀 Alert 알림창 유틸 2. 지도 확대 유틸 Utilities.h #import @import UIKit; @import MapKit; @interface Utilities : NSObject //1.커스텀 알림창 띄우기 + (void)showSimpleAlertWithTitle:(NSString *)title .. 2021. 2. 15.
iOS 배달앱 개발 예제(2) - (feat. 마커표시 MKAnnotation, CLLocationManagerDelegate, MKMapViewDelegate) iOS 배달앱 개발 예제(2) - (feat. 마커표시 MKAnnotation, CLLocationManagerDelegate, MKMapViewDelegate) ✅ 이번 포스팅에서 구현할 기능 1.특정 위치에 어노테이션(마크) 표시 2.어노테이션(마크) 클릭시 위치정보 표시 3.어노테이션 왼쪽에 이미지 넣기 4.어노테이션 오른쪽에 상세정보 버튼 넣기 5.상세정보 버튼 클릭시 alert 창 띄워주기 ✅ 어노테이션(마커) 클래스 생성 1.어노테이션(마커) 관련 변수 및 초기화 메소드 구현 Pin.h #import @import MapKit; //핀 객체 //마커(어노테이션)에 쓰일 객체. NS_ASSUME_NONNULL_BEGIN @interface Pin : NSObject //아래 변수 세개는 어노테이.. 2021. 2. 15.
iOS 배달앱 개발 예제(1) - (feat. CoreLocation, NSTimer, NSURLSession) iOS 배달앱 개발 예제(1) - (feat. CoreLocation, NSTimer, NSURLSession) 목표 : CoreLocation, NSTimer, NSURLSession 을 이용해서 배달앱의 핵심 기능인 위치정보를 얻어서 서버로 전송하는 예제를 구현해본다. 1.근태화면에서 출근 버튼을 누르면 현재 위치가 3초 간격으로 서버에 전송된다. 2.출동화면에서 출동 버튼을 누르면 현재 위치가 3초 간격으로 서버에 전송된다. 3.CoreLocation 라이브러리를 이용해서 싱글톤 객체로 만들어서 현재 위치를 가져온다. 4.NSURLSession 은 delegate 패턴을 이용해서 Get 메소드 호출이 성공했을때나 실패했을때 , Delegate 메소드가 호출되게 한다. 화면 0.공통로직 CoreLoc.. 2021. 2. 9.
iOS CoreLocation 공통 모듈 - 싱글톤 iOS CoreLocation 공통 모듈 - 싱글톤 1.CoreLocation 관련 라이브러리 추가 2.info.plist에 위치 동의관련 key value 값 입력 CoreLocation.h #import #import #import NS_ASSUME_NONNULL_BEGIN @interface CoreLocation : NSObject //CoreLocation 이 객체를 참조하는 카운터 @property (readwrite) NSInteger refNum; //로케이션 매니져 전역 변수 @property (nonatomic, retain) CLLocationManager *locationManager; //싱글톤 패턴 +(CoreLocation *) sharedSingleton; //지정 초기화 메.. 2021. 2. 9.
iOS 최상위뷰 체크 예제 - Curent RootViewController iOS 최상위뷰 체크 예제 - Curent RootViewController 용어 정리 1.rootViewController : 앱 최초 생성시 존재하는 ViewController. (앱을 실행시켰을때 처음 실행되는 뷰 컨트롤러). 2.presentedViewController : 그 위에 올려져 있는 뷰 컨트롤러. applicationWillResignActive 메소드에서 현재 띄워진 뷰컨트롤러(rootViewController)를 파라미터로해서 visibleViewController 메소드의 인자로 넘긴다. visibleViewController 메소드 안에서는rootViewController.presentedViewController 를 isKindOfClass 메소드를 이용해서 네비게이션 컨트롤.. 2021. 2. 8.