번개애비의 라이프스톼일
Function(Function()) 과 같은 아주 괴랄한 형태의 함수를 만들어보았다. Swift에서는 싱글톤이나 자주 사용하는 클래스나 함수를 만들때 유용하게 사용할 수 있다. Escaping을 통해 부모함수에 자식함수를 입력할 수 있도록 조치하고, DispatchGroup을 통해 부모함수를 실행하되, Semaphore를 통해 쓰레드 제어를 한다. 부모함수가 실행이 완료되면, Dispatch된 함수의 Notify를 이용하여 자식함수를 실행한다. 자식함수는 Void형태의 변수로 담아두고 부모함수를 선언할때 해당 변수를 매개변수로써 실행해주면 된다. 아래는 소스코드 //자식함수(나중에 실행될 함수) let input_func = { print("WooooooooooOW") } //부모함수(먼저 실행되는 함..
Swift 로 iOS 개발을 하다보면, 알림권한을 받아와 푸시메시지를 보내거나 내부적인 처리를 위해서 사용하는 경우가 많다. 알림 권한을 피치못한 사정으로 인해 반드시 사용해야하는 경우 UIAlert을 통해 앱 설정화면으로 이동시켜 사용자에게 보다 친화적인 서비스개발이 가능하다. 아래 스크린샷은 앱 초기 실행 혹은 포그라운드로 되돌아올때 나타나는 화면예시다. 알림권한 뿐만 아니라 블루투스, 위치권한등도 응용이 충분히 가능하다. 아래는 알림설정을 할 수 있도록 유도하는 UIAlert 소스코드이다. 참고로 싱글톤으로 사용되거나, 부득이하게 ViewController가 아닌 Delegate에 넣어서 사용할 수 있도록, Alert 메시지의 present 처리를 조금 다르게 작성되어 있다. (원래는 present..
기본적으로 ArduinoBLE 라이브러리에는 iBeacon을 수집하기 위한 클래스가 존재하지 않아, 별도로 개발하거나 다른 Bluetooth 모듈의 AT 통신을 통해 iBeacon을 수집했어야 했다. 환경구성 아이폰 12 mini -----> Arduino nano 33 BLE 아이폰이 iBeacon을 통해 Advertising을 진행하면 아두이노가 신호를 받아와 UUID, Major, Minor, RSSI의 값을 스캔할 수 있는 환경이다. 아이폰과 아두이노간의 신호세기를 측정할 수 있음으로 NearBy나 간략하게나마 접근측정이 가능하여 도어제어등으로 활용할 수 있다. 아이폰에 BeaconSimulator 앱을 설치하여 간편하게 테스트할 수 있다. 아래 라이브러리를 다운로드받아 IDE에 라이브러리를 ZI..
이번여름에 휴가로 제주도를 다녀오면서 제주도일주를 했음. 이전에 군산 당일치기를 했었는데 이번엔 제주도 당일치기임. 근데 하필 출발당일 아침에 비가 어마무시하게 쏟아지는 바람에 새벽 5시가 아닌 9시에 출발했고, 덕분에 밤늦게까지 라이딩하게됨. 만일, 제주일주를 당일치기할 예정이라면 반드시 날씨와 출발시간을 최대한 이른시간에 하는것을 추천함. 서귀포 남원에서 출발하는 일정이었고, 쉬고, 밥먹고, 싸는 시간을 제외하고 자전거 위에서 총 8시간 동안 페달을 비벼야 가능함. ㅋㅋㅋ 남원에서 표선해수욕장까지는 일주로옆 자전거길을 이용하면됨. 서귀포 인근에는 다행히 바람이 없어서 남원에서 표선해수욕장까지는 약 1시간정도 걸림. 표선해수욕장에서부터는 해안도로를 이용함으로 해안도로 진입시 차량통행에 각별히 유의하는게..
아이폰의 별의별 앱들의 인앱브라우저 user agent를 모아봤다. 전부 다 테스트해서 user agent를 찾기엔 앱이 너무나 많기 때문에 개발하고자하는 서비스의 유입트래픽에 맞춰 user agent를 수집해서 예외처리하면 좋을듯 (iOS에서 인앱브라우저 무시하고 강제로 사파리 열기 - https://www.burndogfather.com/201) user agent 찾는방법 티스토리 카카오톡 인스타그램 트위터 네이버 블라인드 와디즈 알리익스프레스 줌앱 네이버 웨일