아이폰을 USB메모리로 사용하는 예제

2014-11-17
8 Views

아이폰을 USB 메모리처럼 사용할 수 있는 앱 예제를 하나 만들어 보겠습니다.

1) 프로젝트를 생성하고 Project Navigator에서 [Supporting Files]-[info.plist]를 선택하고 속성 목록에서 [Add Row]를 선택하여 새 속성을 추가합니다.

  • Key: [Application supports iTunes file sharing]
  • Value: [YES]

ios-usb-storage1

 

2) 빌드를 해서 실제 폰이나 시물레이터로 실행해보고, iTunes를 열고 [App]탭을 선택하고 [파일공유]항목에서 만든 앱을 선택하면 [‘앱이름’의 도큐멘트]라는 화면이 나옵니다.

iphone-usb-storage2

3) 도큐멘트 하단에 있는 [추가]버튼을 눌러 저장할 파일들을 선택합니다.

iphone-usb-storage3

4) 파일이 추가되었다면 [동기화]버튼을 눌러 아이폰과 동기화를 합니다.  그런데 아무런 소스코드를 추가한 것이 없기 때문에 앱자체에서 목록을 확인할 수 없습니다. 간단하게 TableView를 사용하여 첨부된 파일들을 볼 수 있는 목록을 추가해봅시다.

5) Project Navigator에서 Main.storyboard 파일을 선택하고 화면에 [Table View]를 드래그하여 배치합니다. 배치한 다음 [Control]키를 누른 상태에서 테이블뷰를 아이콘으로 드래그하고 dataSource와 View Controller를 연결하고 delegate와 View Controller를 연결합니다.

iphone-usb-storage

6) 우측 [Connections Inspector]를 선택하면 연결된 Oulets 상태가 나옵니다.

iphone-usb-storage5

7) Project Navigator에서 [ViewController.swift]를 열고 아래와 같이 코드를 추가합니다.

[swift]

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

var contents = [String]()

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)

let documentsDicrectoryPath = paths.first as String

contents = NSFileManager.defaultManager().contentsOfDirectoryAtPath(documentsDicrectoryPath, error: nil) as [String]

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {

return 1

}

 

func tableView(tableView: UITableView, numberOfRowsInSection section : Int) -> Int {

return contents.count

}

 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath : NSIndexPath) -> UITableViewCell {

var cell = UITableViewCell(style: .Default, reuseIdentifier: "myCell")

cell.textLabel.text = contents[indexPath.row]

return cell

}

}

[/swift]

 

Facebook Comments

You may be interested

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares112 views
Swift 3.0
shares112 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares7 views
IoT by Raspberry Pi
shares7 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…