분류 전체보기 104

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

Git) `fatal: pathspec '.....FIRAnalytics.h' is beyond a symbolic link` 에러 해결

cocoaPods 라이브러리 업데이트 후 git으로 업로드 하려고 했지만 아래와 같은 오류 메시지가 나왔다.fatal: pathspec 'Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h' is beyond a symbolic link해결 방법git commit 시 GUI를 쓰는데, GUI 사용 전 터미널에 git add .를 하면 정상적으로 push가 된다.참고 자료https://github.com/firebase/firebase-ios-sdk/issues/12801

Tool/Git 2024.07.18

UserInterfaceState.xcuserstate 제거

git으로 코드 관리 시 코드 변경을 안했음에도 UserInterfaceState.xcuserstate 파일 변경되었다고 경고가 나온다.브랜치를 변경한다거나 머지할때 거슬린다. UserInterfaceState.xcuserstate란 무엇일까?-> UI 상태를 저장하고 있는 파일이다. 특별히 쓰임새가 없기에 제거해도 문제가 없다.제거하는 방법명령어터미널에 아래 명령어 입력한다.git rm --cached [Project Name].xcworkspace/xcuserdata/[User Name].xcuserdatad/UserInterfaceState.xcuserstate성공적으로 삭제되면 해당 변경사항을 commit 한다.gitignorgitignor에 아래 내용 추가*.xcuserstate본인은 제대로 적..

Tool/Git 2024.07.17

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