iOS 67

iOS) 앱 배포 - 빠른(긴급) 심사

iOS 앱 배포는 보통 하루 24시간 걸린다.다만 빠른(긴급)심사를 이용할 경우 1~3시간 이내(앱 마다 다를 수도..)에 앱 배포가 가능해진 상태로 된다.주의사항참고: 평균적으로 제출물의 90%는 24시간 이내에 검토됩니다. 그러나 중요한 버그를 수정하거나 이벤트에 맞춰 앱을 출시하는 등의 불가피한 상황에 직면한 경우 이 양식을 작성하여 신속한 검토를 요청할 수 있습니다. 참고하시기 바랍니다: 앱 리뷰로 전송된 제출물만 신속하게 처리할 수 있습니다. 과도한 신속 요청을 제출하면 향후 신속 요청이 승인되지 않을 수 있습니다.-> 한번 앱 빠른 심사 등록하면 다시 등록 안해도 빠른 심사로 등록되는 것 같다. 그리고 계속 빠른 심사 요청하면 거부할 수 도 있으니, 해당 심사 요청 시 주의가 필요하다.방법..

iOS/iOS 2024.12.16

iOS) Universal link

웹에서 앱을 호출해야할 경우가 있을 떄 사용ex) 웹 배너 광고 - 광고 클릭 시 설치 페이지 또는 앱 이동준비해야할 것AASA 파일Capability1. AASA (apple-app-site-association)파일 추가 위치서비스 중인 웹서버의 특정 폴더 내 위치 시켜야함https://test,com/.well-known/apple-app-site-association파일 예시{ "applinks": { "apps": [], "details": [ { "appIDs": [ "ABTWV6HNWN.com.tmonet.BubiNFC" ], "..

iOS/iOS 2024.12.12

Swift) Info.plist 현지화(Localized)

Swift는 앱 내 성공, 에러 메세지에 대해서 Localized 가능합니다. 또한 권한 설정에 대해서 알아 봅시다.순서Localized 설정InfoPlist.string 파일 만들기Info.plist 권한 설정 Key값 확인InfoPlist.string 문구 추가적용1. Localized 설정PROJECT 설정 -> Localizations -> 원하는 언어 선택2. infoPlist.string 파일 만들기File -> string 파일형식 검색 -> 파일명 InfoPlist로 만듬3. Info.plist 권한 설정 Key 값 확인Info.plist 우클릭 -> Open As -> Source Code -> key string값 확인앨범 선택인 경우 NSPhotoLibraryUsageDescripti..

iOS/Swift 2024.07.16

Objective-C) 클래스 객체함수 호출하기

Objective-C에서 다른 객체에서 함수를 실행시키는 방법은 swift와 미묘한 차이점이 있습니다.간단하게 정리해보았습니다.ViewController를 생성해봅시다.이름은 MyViewController 지정했습니다.MyViewController.m파일과 MyViewController.h파일이 생깁니다.먼저 m파일에 함수를 작성해 봅시다.- (void)testAction { NSLog(@"testAction");}그 다음 h파일로 가서 해당 함수를 등록해 봅시다.@interface MyViewController : UIViewController-(void)testAction;@end이제 메인 ViewController로 가서 동작시켜봅시다.저는 viewDidLoad에 동작시켜볼게요.코드는 간단합니..

iOS/Objective-C 2024.06.20

트러블슈팅) Thread 1: "Unable to activate constraint with anchors....

코드로 UI 작업 시 발생한 에러 메세지에러 메세지Thread 1: "Unable to activate constraint with anchors and because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal."번역스레드 1: "앵커 및 먼가 제약조건이 안맞고, 앵커 잡는 뷰계층이 꼬인 것 같다.이럴 땐 바로 구글검색...다행히 나만 발생된 에러가 아니였다.스택오버플로우에서 답변을 쉽게 찾을 수 있었다.요약하자면,, 먼저 addView를 하고 Layout을 잡으라는 의미 -> 현재 내 코드가 Layout을 잡고 ad..

Objective-C) 캡쳐방지

iOS는 안드로이드처럼 캡쳐기능자체를 막지 못합니다.iOS에서 UIApplicationUserDidTakeScreenshotNotification 로 스크린샷 액션이벤트를 받을 수 있습니다.그래서 스크린캡쳐 시 경고 알렛을 노출시키는 방법도 꽤 괜찮은 방법입니다.- (void)setupScreenShotObserver { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenShotAction:) name:UIApplicationUserDidTake..

iOS/Objective-C 2024.06.19

Swift) UUID + KeyChain

Device uuid를 계속 고정할 수 있게 할 수 있다. 그러나 uuid는 앱을 삭제 후 재 실행하면 변경된다.iOS5 이전에는 디바이스마다 고유 값 udid를 제공했었는데 앱마다 udid가 같다는 이유로 더 이상 지원하지 않는다.다만 공장 초기화 시에는 변경된다.사용을 위해 keychain 사용자 설정을 해야한다고 되어 있는데, 필자는 다른 셋팅 없이 되었다.라이브러리 사용을 2가지만 하면된다.라이브러리 다운로드코드 2줄라이브러리 다운로드주소: https://github.com/taka0125/TAKUUIDpod, spm 둘다 지원한다.코드TAKUUIDStorage.sharedInstance().migrate() uuidInTheKeychain.text = TAKUUIDStorage.sharedIn..

iOS/Swift 2024.05.31

Objective-C) Keyboard Layout 감지

핸드폰의 특성상 타이핑을 해서 데이터를 입력할 일이 많습니다.사용자들은 정보를 입력하기 위해서 핸드폰 스크린을 터치 하고 키보드를 타이핑 합니다.만약 데이터를 입력하기 위해 터치를 했지만 키보드는 나오고, 데이터를 입력할 입력란이 키보드에 가려 안보인다면 당황하겠죠?Objective-C 에선 어떻게 해결하는지 알아봅시다.먼저 키보드가 나오는 이벤트를 받아야 합니다.[ [NSNotificationCenter defaultCenter] addObserver: self selector: @selector(showKeyboard:) name: UIKeyboardWillShowNotification object: nil];Notification을 이용해 키보드가 나타나면 showKeyboard 함수가 실행..

iOS/Objective-C 2024.05.30