목록Programming/iOS (16)
ㄷㅣㅆㅣ's Amusement
개발하다 보면 "당연히 이러하겠지"라고 생각했다가 낭패를 보는 경우가있다.오늘도 낭패를 봤기 때문에 하나씩 정리해 나가기로 하였다. - getter/setter, subscript, property wrapper에서의 get/set. 12345678910111213141516171819201. get/setstruct Getset { private var _value = 0 var value: Int { get { print("get") return _value } set { print("set") _value = newValue } }}var getset = Getset()getset.value = 10 // ----------// setcs당연히도 위의 코드의 결과는 set한번 찍히는 것이 전부다. ..
WWDC 2018Summary 올해 WWDC에는 그 누구보다 Coder에게 집중한 해라고 생각된다.http://www.apple.com 으로 접속해보면, 정확히 Coder라고 적혀있다. 한국에서 코더라고 칭하면 뭔가 비하하는거 아니냐고 그러던데, 잘 생각해보면 코딩할줄 아는 사람이 생각보다 드물고 더 인정받는다... (한글 안다고해서 다 소설 쓸 수 있는것은 아니다. 쓴다고해도 잘써야하고.)신제품 공개의 장이었던 다른 해와는 달리, 2018년에는 오직 신규 OS (iOS, tvOS, watchOS)만을 다루었고, 특히 Siri Shortcut, CreateML등은 "AI는 우리가 할테니 너희는 서비스 개발에 집중하거라"하는 메시지를 보내는 듯 하였고, 그로 인해 iOS에서는 할 수 없었던 많은 것들이 가..
How to convert from void* to char* I had to use f**king idiot library which is written by C++ in Swift project. That library use void* for call back function to return.(There are so many call back event, but that library use only one function pointer (returning void*) like above.) 12typedef void (* ANY_CB)(void *);void registerListener(ANY_CB *cbs, ANY_CB cb, ANY_EVENT event);cs And I faced to p..
Private git repository in carthage. If you add 'private git' to Cartfile, You can see the error above.1234DCs-OfficePC:temp childc$ carthage update*** Cloning TempProjectA shell task (/usr/bin/env git clone --bare --quiet https://@/.git /Users/) failed with exit code 128:fatal: could not read Password for 'https://@': terminal prompts disabledColored by Color Scriptercs This error, "failed with ..
이전에 비디오 플레이어 튜토리얼을 포스팅 했으니(2016/02/23 - [프로그래밍/iOS] - [iOS/Objective-C] Video Player tutorial using AVPlayer (AVFoundation)), 여세를 몰아 오디오 플레이어도 만들어보자. Last posting is Video Player Tutorial(2016/02/23 - [프로그래밍/iOS] - [iOS/Objective-C] Video Player tutorial using AVPlayer (AVFoundation)). so We'll make a simple audio player this time. - 요구사항 1) 백그라운드에서 플레이 되어야 한다. 2) iOS의 Now Playing Info Center에 현..
오늘은 간단하게 아이폰/아이패드에서 비디오를 재생시키는 앱을 만들어보자.Today's post is about simple Video Player on iPhone/iPad. 1. 안드로이드의 비디오 뷰와 같이 사용할 수 있도록 UIView를 상속받아 비디오 레이어를 붙여준다.1. To use like an android video view, Inherit UIView and add the video layer to it.123456@import AVFoundation;#import @interface VideoView : UIView@property (strong, nonatomic) AVPlayerLayer *videoLayer;@endColored by Color Scriptercs 12345678..
Xcode/iOS/Objective-c에서 이미지 자르기.Image Crop in Xcode/iOS/Objective-C 1. ImageCropViewController 1) 이미지를 자를 수 있는 뷰 컨트롤러를 만든다. 1) Making View Controller for Image Crop like below. 2) 이미지 자르기 할 영역만 음영처리가 빠져있고, 이미지는 원형으로 자름. 2) We should shade except cropping region. and We're gonna crop in circle. 3) Core Graphics for circular masking. - 이미지를 사각형으로 자를 것이라면 전혀 문제가 없겠지만, 대부분의 이미지 크롭 프로젝트에서는 원형으로 자르기 때..
[iOS/Objective-C]에서 thread를 순차적으로 처리하기.Thread starts when the other Thread ends [on iOS/Objective-C] 여러가지 방법이 있겠지만.... 세마포어를 사용하면 간단하다.There are so many way to do. but, you had better to use semaphore. 1. Create semaphoredispatch_semaphore_t sema = dispatch_semaphore_create(0); 2. Do Threaddispatch_async(......, ^ { // Do something ........ dispatch_semaphore_signal(sema);)}; 3. Wait for semapho..
Here is the simplest way to encrypt/decrypt using CCCRypt on iOS오늘은... iOS에서 CCCRypt를 이용하여 encrypt/decrypt하는 간단한 방법에 대해서 포스팅해볼까 합니다. I had to decrypt json string which is encrypted AES128/CBC-mode/NoPadding. but in iOS, there's no "NoPadding" option, you will hesitate which option you use. 우선... 이 프로젝트를 시작한 계기는.. 서버에서 AES128로 CBC모드에 NoPadding으로 암호화된 json string을 내려주기 때문에 이것을 맞춰주려고 한거였는데, 이노무 CBC..
iOS에서 UIButton으로 작업하다보면 UIControlState에 따라 bacground color도 변경해야 할 때가 있는데, background image는 interface builder에서 변경 가능하지만 bg color는 그렇지 못하다. 따라서 bg clolor를 설정할 수 있는 category를 한개 더 만들어보도록 한다. (Objective-C 코드) 1234567891011121314151617181920#import "UIButton+BgColor.h" @implementation UIButton (BgColor)- (void)setBgColor:(UIColor *)color forState:(UIControlState)state{ // 버튼 백그라운드 이미지를 채우기위한 더미 뷰...