300x250 전체 글241 아이폰 노치 여부 확인 방법 var safeAreaBottom:CGFloat = 0.0 if #available(iOS 15.0, *) { guard let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene else { return } safeAreaBottom = (windowScene.keyWindow?.safeAreaInsets.bottom)! } else { let keyWindow = UIApplication.shared.windows.first{$0.isKeyWindow} safeAreaBottom = (keyWindow?.safeAreaInsets.bottom)! } if safeAreaBottom > 0.0 { UserDefaults... 2022. 1. 24. navigation bar 숨김 시 swipe override func viewDidLoad() { super.viewDidLoad() navigationController?.interactivePopGestureRecognizer?.delegate = nil } 출처: https://greenchobo.tistory.com/13 2022. 1. 21. Dark mode 색상 적용 if #available(iOS 13, *) { view.backgroundColor = .systemBackground lb.textColor = .label } else { view.backgroundColor = .white lb.textColor = .black } 다크모드 막기 info.plist에서 Appearance추가하여 value에 Light 적어주기 2022. 1. 12. info.plist 화면 방향 Supported interface orientations (iPhone) 2022. 1. 12. 앱 아이콘 이미지 App Icon Generator appicon.co 여기에 접속해서 원하는 os를 선택하고 Generate 클릭 하기만 하면 이미지set 생성 완료 주의할점. 이미지 크기는 1024px 이상 정방향 png 확장자 불투명한 배경 Asset에 icon 추가하기. 다운로드된 파일을 보면 'AppIcon.appiconset'이라는 폴더가 있다. xcode Asset에서 기존의 AppIcon은 삭제하고 하단의 '+' - import - AppIcon.appiconset 이렇게 하면 프로젝트의 앱 아이콘이 사이즈 별로 들어가게 된다. 참고 : https://loganberry.tistory.com/17 2022. 1. 6. font가 nil일 때 별도의 폰트를 추가 후 적용했지만 nil로 들어오는 경우가 있다. 이유는 간혹 내가 보고 있는 폰트의 이름이 사실은 다를 수 있기 때문.. 이럴때는 폰트의 진짜 이름을 찾아서 적용 해주면 된다. Objective - C NSArray *familyNames = [UIFont familyNames]; for( NSString *familyName in familyNames ){ printf( "Family: %s \n", [familyName UTF8String] ); NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName]; for( NSString *fontName in fontNames ){ printf( "\tFont: %s \n", [fon.. 2022. 1. 6. 자동 문자 입력 메세지 앱이 열리고 원하는 번호로 원하는 내용이 바로 입력되어 있는 상태 구현 1. MessageUI를 import 한다 2. 해당 ViewController에 MFMessageCompseViewControllerDelegate를 채택한다. 3. 메세지 앱으로 연결할 버튼을 하나 생성하고 4. 버튼의 액션은 @IBAction func sendMessage(_ sender: UIButton) { let messageComposer = MFMessageComposeViewController() messageComposer.messageComposeDelegate = self if MFMessageComposeViewController.canSendText(){ messageComposer.recipients.. 2022. 1. 6. API 통신 API 통신을 할 때, HTTP body에 노출되면 안되는 정보는 haeder를 통해 전달하는 것이 좋다. (api 서버 주소나 인증키 같은) NSURL *url = @"url"; NSURLSession *session = [NSURLSession sharedSession]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setHTTPMethod:@"GET"]; [request setValue:@"auth value" forHTTPHeaderField:@"Authorization"]; [request setValue:@"application/json" forHTTPHeaderField:@"Cont.. 2022. 1. 4. Xcode 반자동 배포 - 전처리문 이용 전처리문을 사용한 초간단 Xcode 반자동 배포 #define ReleaseServer_URL "https://release.com" #define DebugServer_URL "https://debug.com" #ifdef RELEASE #define SERVER_URL ReleaseServer_URL #else #define SERVER_URL DebugServer_URL #endif 이런식으로 define 하여 API 호출 시, URL을 define 변수를 이용하면 빌드 스키마에 따라 자동으로 서버URL을 반영 시킬 수 있다. 이렇게 하면 완전 자동은 아니지만 배포 시 서버 URL을 테스트용으로 올리는 실수는 없앨 수 있다. 다른 방법도 다양하다 : https://leechanho.tistory.c.. 2021. 12. 23. 이전 1 ··· 17 18 19 20 21 22 23 ··· 27 다음 300x250