일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드 에러
- Flutter NativeView
- 스위프트
- 스위프트 테이블 뷰 셀
- 스위프트 푸시
- swift 문자
- 안드로이드 바로가기
- 스위프트 UserDefaults
- 스위프트 카메라
- flutter 회전
- 스위프트 앨범
- 안드로이드 FCM
- 플러터 뷰 컨트롤러
- swift sms
- 앱 백그라운드 푸시 데이터 저장
- silent push
- Swift flutterviewcontroller
- NotificationService Extension
- 안드로이드 숏컷
- 노티피케이션 익스텐션
- 푸시 데이터 저장
- swift autolayout
- 스위프트 웹뷰
- Flutter UIKitView MethodChannel
- flutter rotate
- Swift flutterview
- 앱 꺼졌을 때 푸시 데이터 저장
- FlutterView MethodChannel
- native flutter view
- 안드로이드 앨범
- Today
- Total
목록iOS (기능) (89)
Things take time
[개요] http://g-y-e-o-m.tistory.com/91 에서 기본 익스텐션의 개념 및 액션 익스텐션에 대해 간단한 예제를 소개했다.이번에는 쉐어 익스텐션이란 것의 예제이다. 글 내용이나 사진 등을 공유하길 눌렀을때, 호출되는 카카오톡이 대표적인 쉐어 익스텐션인데, 말 그대로 SNS와 같은 앱에 쉽게 공유할 수 있도록 지원한다. [예제] 기본적으로 제공하는 템플릿 쉐어 익스텐션과 이를 조금더 바꿔서 카카오톡처럼 커스터마이징을 통한 쉐어 익스텐션을 만들어볼 것이다. + 데이터 공유사실 기본 템플릿은 내가 필요한 기능이 아니라서, 기본만 보고 넘어간다. Share Extension을 만들고 나면 하나의 스토리보드와 하나의 뷰 컨트롤러가 보인다. 이 상태로 그냥 시뮬레이터로 사파리를 기본으로 잡고 실..
[개요] 인터넷이나 다른 앱에서 등 다양한 데이터를 공유하려 했을 때 호출되는 팝업, 아래와 같은 팝업을 봤을 것이다. 안드로이드에서는 intent filter라는 것을 이용해서, 해당 데이터타입이 공유하기를 통해 노출되면 자기 앱이 노출되도록 하는 방법이 있다.그렇다면 iOS에서는 어떤 방법으로 노출되게 할 것인지에 대해 공부하려 한다. 노출되기 전에, 공유하기 버튼을 눌렀을 때 호출되는 함수 및 포스팅은 아래를 참고한다. http://g-y-e-o-m.tistory.com/18 [Action Extension vs Share Extension] 참고 사이트1. 기본 개념 (https://www.letmecompile.com/extensions-for-macos-10-10-ios-8/)2. App Gr..
[로직] UIImagewView / UIScrollView를 이용하여 손가락 확대 기능을 구현한다.안드로이드의 경우에는 구현이 어려워서, 이미지 뷰 전용 라이브러리를 통해 활용했지만, iOS는 간단하다. 한 줄 요약UIScrollView를 부모로 하여 그 밑에 UIImageView를 넣고 설정하면 끝 [코드]import UIKit class ViewController: UIViewController, UIScrollViewDelegate { @IBOutlet weak var scrollView: UIScrollView! @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // Do any a..
[로직] 동영상을 선택하란 로직에서 리턴값으로 넘어오는 값의 확장자는 .mov확장자다.문제는 이런 동영상 파일은 아이폰에서는 정상 작동하지만, 안드로이드에서는 재생할 수 없다(물론 해당 코덱을 가진 유료 동영상 플레이어를 내장한 기기에서는 재생가능)이럴 때 필요한 것이 서로 다른 디바이스에서 공통적으로 인식 가능하도록 확장자를 변경하여 저장하는 방법이다. [코드] func encodeVideo(videoURL: URL){ let avAsset = AVURLAsset(url: videoURL) let startDate = Date() let exportSession = AVAssetExportSession(asset: avAsset, presetName: AVAssetExportPresetPassthrou..