콘텐츠로 건너뛰기

프로그래밍

[iOS Swift] This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode 에러 해결법 !!

Failed to prepare device for development

This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode. You may also need to restart your mac and device in order to correctly detect compatibility

Xcode 작업 중 갑자기 폰으로 작업할려고 하면 위와 같은 에러가 뜰때가 있습니다

Xcode와 맥을 최신 버전으로 업데이트 해도 해당 에러가 없어 지지 않아서 고생했는데요 아래처럼 해보세요

1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

위의 디렉토리에 15.4.zip, 15.5.zip, 16.0.zip 파일이 없다면 아래 사이트에서 다운 받아서 복사해서 붙여 넣기 

https://github.com/filsv/iOSDeviceSupport

2. 그래도 안되면 Xcode, 맥북, 아이폰 전부를 재부팅 해본다

저는 아이폰 재부팅 후 해결 했습니다

[iOS Swift] 키보드 위에 닫기 버튼 추가하기!!

Text View나 Text Field에서 키보드를 열고 닫을때 다른 곳을 클릭하거나 드래그로 닫을 수도 있지만

좀 더 직관적으로 사진 처럼 닫기 버튼을 만들 수 있습니다

func addDoneButtonOnKeyboard(){
        let doneToolbar: UIToolbar = UIToolbar(frame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50))
        doneToolbar.barStyle = .default

        let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
        let done: UIBarButtonItem = UIBarButtonItem(title:  NSLocalizedString("keyboard_close", comment: ""), style: .done, target: self, action: #selector(self.doneButtonAction))

        let items = [flexSpace, done]
        doneToolbar.items = items
        doneToolbar.sizeToFit()

        tvContent.inputAccessoryView = doneToolbar
}

@objc func doneButtonAction(){
        tvContent.resignFirstResponder()
}

위 소스의 tvContent를 본인의 textview 나 textfield로 변경 하시면 됩니다

글자는 UIBardButtonItem의 title에서 변경 해주시면 됩니다

doneButtonAction은 닫기 버튼을 눌렀을때 키보드를 내리기 위해 필요합니다

[iOS Swift] 라벨, 버튼등 간단한 폰트 변경 방법!!

– 원하는 폴드를 프로젝트에 추가(복사)합니다. 저는 resource 그룹을 만들고 그 안에 넣었습니다

– 폰트를 클릭 후 Show the File inspector – Target Membership의 해당 프로젝트 이름을 체크합니다

– info.plist에 Fonts provided by application를 추가, 하위의 Item 0의 Value에 resource에 넣은 폰트 이름을 확장자까지 입력합니다(ex. right.ttf), 폰트가 여러개일 경우 +를 눌러 추가해 준다(ex. Item 1, Item 2…)

– 프로젝트를 클릭 TARGETS – Build Phases – Copy Bundle Resources에 폰트가 추가 됐는지 확인

– 스토리보드에서 변경 할려고 하는 라벨(뷰)을 선택 후 Show the Attributes inspector – Font에서 원하는 폰트를 설정합니다