본문 바로가기

분류 전체보기242

Email로 데이터 보내기 검색하면 Intent를 이용한 방법이 참 많지만... 모르겠다. 버전 업이 되서 그런가? 안돌아간다.그래서 찾다 찾다 찾은게 ShareCompat의 IntentBuilder 아래는 이를 이용해 메일을 보내는 방법이다. Chooser에서 앱을 띄우는 종류는 setType으로 결정된다. ShareCompat.IntentBuilder.from(this).setType("message/rfc822") // 핵심! .addEmailTo("메일주소") .setSubject("제목") .setText("내용") .setChooserTitle("Chooser에서 띄울 타이틀") .setStream(Uri.fromFile(new File(getDirectoryPath(), "파일명"))) // 파일 첨부!! .start.. 2015. 11. 11.
Enviroment 폴더 경로 얻기 공식 SDK 주소 https://developer.android.com/reference/android/os/Environment.html External 폴더 경로를 얻기 위해 Enviroment를 사용한 방법이다. 위 sdk문서를 보면 다양한 메소드들이 제공된다.Public Methodsstatic FilegetDataDirectory()Return the user data directory.static FilegetDownloadCacheDirectory()Return the download/cache content directory.static FilegetExternalStorageDirectory()Return the primary shared/external storage directory... 2015. 11. 11.
centOS에 apache & php 소스 컴파일로 설치하기 yum으로 패키지를 설치하는 방법이 아니라 소스버전을 직접 다운받아 설치하는 방법 사전 준비 gcc & gcc-c++ 설치기본적으로 설치되어 있는 경우도 있겠지만, 없는 경우도 있다. 아래 과정을 진행하다보면 컴파일러가 필요한데 없다는 메세지가...컴파일러는 yum으로 설치하는 방법을 사용한다.yum -y gccyum -y gcc-c++ 1. apache 설치3가지를 설치해야 한다.– apache : http://www.apache.org/dyn/closer.cgi – apr/apr-util : https://apr.apache.org – pcre : http://www.pcre.org 사이트에서 필요한 버전을 찾아 주소를 알아 놓고 터미널에서 받거나, 사이트에서 받아놔도 된다. 터미널을 이용해 받는 방.. 2015. 11. 6.
맵뷰에 어노테이션 추가/삭제 맵뷰에서 어노테이션이란, 핀을 꽃아 장소를 설정하는 것을 말한다. MKPointAnnotation() 을 이용해서 장소를 설정하고 제거한다. 1234567891011121314 @IBAction func btn2(sender: AnyObject) { // 어노테이션 설정 let point = MKPointAnnotation() point.coordinate = CLLocationCoordinate2DMake(35.1598, 129.1626) point.title = "해운대" point.subtitle = "부산" mapView.addAnnotation(point) } @IBAction func removeAnnotation(sender: AnyObject) { // 어노테이션 전체 삭제 mapView... 2015. 10. 30.
mapView 맵뷰는 MKMapView.framework을 사용한다. 기본적인 프로퍼티// 확대, 축소, 스크롤 기능var zoomEnabled : Boolvar scrollEnabled : Boolvar rotateEnabled : Boolvar pitchEnabled : Bool // 지도 출력var showsUserLocation : Boolvar showsPointsOfInterest : Boolvar showsBuildings : Boolvar showsTraffic : Bool // iOS9 위치// 지도가 표시하는 영역의 중앙 위치를 설정하거나 얻기var centerCoordinate : CLLocationCoordinate2Dfunc setCenterCoordinate(coordinate: CLLocat.. 2015. 10. 30.
동영상 재생 MPMoviewPlayerController MediaPlayerFrameWork를 이용한 동영상 재생 방법 MPMoviewPlayerController 와 MPMoviePlayerViewController 두 종류가 있다. 후자는 신을 전환해서 사용하는 방법이다.전자를 살펴보자. 제공되는 기본적인 재생 관련 함수prepareToPlay()play()pause()stop()currentPlaybackTime: NSTimeInterval { get set } // 현재 재생 시간(초 단위) 비동기로 동작한다. 동영상 속성var moviewMediaTypes : MPMovieMediaTypeMask { get } // 미디어 타입(비디오, 오디오)var movieSourceType : MpMovieSourceType // 미디어 소스(파일, 스트리밍).. 2015. 10. 29.
오디오 녹음 및 재생 AVAudioRecorder & AVAudioPlayer 오디오 녹음기init(URL url: NSURL, settings: [String : AnyObject]) throws로 초기화한다.플레이어는 url만 설정하면 된다. 녹음 환경 설정은 딕셔너리 형태로 한다. 옵션은 아래와 같다.AVFormatIDKey : 녹음 포맷, 코어 오디오에 정의된 포맷 문자 사용AVSampleRateKey : 샘플링 레이트AVLinearPCMBitDepthKey : 녹음에 사용할 비트AVEncoderAudioQualityKey : 녹음 품질 녹음 기능에 관련된 메소드func prepareToRecord() -> Bool // 녹음 준비과정. 파일 생성함.func record() -> Bool // 파일에 녹음 수행하거나 중지func recordForDuration(duratio.. 2015. 10. 29.
Sync, Async, Task 방식으로 이미지 로딩하기 세 가지 방법 중 애플이 권장하는 방법은 Task방식이다. 어차피 기본적으로 싱크로 이미지를 로딩할 일은 없겠지만. task도 기본적으로 비동기이며, Async와 비교해서 장점은.. 음, 글쎄 더 빠른지는 자세히 테스트 해보지 않아서 모르겠다. 하지만 액션 구역이 분할되있기 때문에 아마 동작 제어가 더 낫지 않을까... 안드로이드의 AsyncTask와 가장 비슷한 형태라고 보인다. 코드는 아래와 같다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import UIKit class ViewCo.. 2015. 10. 28.
데이터 저장(UserDefault) 앱을 종료해도 유지할 수 있는 방법들 1. 유저 디폴트(NSUserDefaults) // 싱글톤 객체let defaults = NSUserDefaults.standardUserDefaults() // 내용 저장defaults.setObject("저장할 내용", forKey: "키값") // 싱크 문제가 있기 때문에 싱크로나이즈 해줘야 함(성능 하락...)defaults.synchronize() // objectForKey()등등으로 얻어올 수 있다.let name = defaults.stringForKey("name") 이런 저런 퍼포먼스 저하 문제가 있기 때문에 앱의 설정 등을 저장하는데 주로 쓴다. 안드로이드의 sharedReference뭐시기랑 비슷한 것 사용 예제) 현재 날짜 저장하고 복원1234.. 2015. 10. 27.