iPhone 개발2017.01.31 13:58


맥과 윈도우에서 모두 사용가능한 드라이브는 NTFS로 하는게 좋을것 같고.

이 경우 맥에서 쓰기가 안되기 때문에 이전에는 Paragon이나 NTFS3G같은걸 사용했는데

마운틴라이언부터는 맥이 기본적으로 기능을 제공한다.

다만 디폴트가 활성이 아니기 때문에 일부 수동으로 조정해주어야 한다.

치사하게스리


/etc/fstab에 라벨를 지정하는 방법이 그것인데 인식시키려고 하는 드라이브명이 'MYDRIVE'라면 아래와 같이 하면 된다


sudo nano /etc/fstab


LABEL=MYDRIVE none ntfs rw,auto,nobrowse


이렇게 한 후 드라이브를 다시 마운트시키면 쓰기가 가능해진다.


다만 Finder에 드라이브아이콘이 나타나지 않을 수 있는데 이 때는 /Volumes 폴더에 직접 접근하거나 터미널에서 아래와 같이 입력해주면 뜰것이다!


open /Volumes/MYDRIVE 


신고
Posted by 삼스
iPhone 개발2016.12.12 10:57


Crash Log 콘솔에서 분석하기



크래시 발생 시 크래시데이터 저장위치(iTunes 동기화하면 저장됨)

Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>


Windows XP: C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>


Windows Vista or 7: C:\Users\<USERNAME>\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>



아카이브파일은 Devices메뉴에서 Archives탭에서 해당 앱의 Show in Finder로 이동하면 찾을 수 있다.

아카이브에서 dSYM파일과 .app파일을 추출하여 크래시 로그와 동일한 폴더에 위치시킨다.


그러고 콘솔에서 아래와 같이 입력한다.

atos -arch armv6 -o 앱이름.app/앱이름 메모리주소


)

iyosam-ui-MacBook-Pro:Crash leeyosam$ atos -arch armv7 -o MobileApp-iPad.app/MobileApp-iPad 0x26000 [엔터키입력]

-[DSVCResultSearchViewController monthButtonTouchesUpInside:] (in MobileApp-iPad) (DSVCResultSearchViewController.m:241)

신고
Posted by 삼스
HTML52016.10.06 14:12


http://www.joshmorony.com/a-simple-guide-to-navigation-in-ionic-2/



Ionic1이나 Angular1 백그라운드가 다면 URL, state등으로 라우팅을 Ionic2에서도 사용은 가능하다 하지만 많은 주의가 필요하므로 권장하지 않는다.

Ionic2는 View를 push/pop하는 네비게이션 스택으로 운영된다.


이를 구현하는 방법을 배우기 전에 어떻게 동작하는지에 대해 먼저 이해해보자.


Push/Pop


root page가 고양이 그림이 그려진 종이가 테이블에 올려져 있다고 상상해보자.

이제 개그림이 그려진 종이를 올려보자. 그러면 개그림이 제일 위에 있게 된다. 그리고 고양이는 여전히 개그림 아래에 놓여져 있게 된다.

이번에 소그림이 그려진 종이를 올려보자. 소그림이 제일 위에 있고 고양이과 개그림도 여전히 놓여져 있다.

이제 개그림을 보려면 쌓여진 종이의 맨위 그림을 버리면 된다. 이어서 고양이그림을 보려면 한번더 맨위의 그림을 버리면 된다.

히스토리를 관리하는 아주 편리한 네비게이션방안이고 차일드뷰가 많은 경우 이해하기 쉽다. 하지만 항상 그런것은 아니다. 어떤 경우는 바로 이전페이지가 아니라 다른 페이지로 이동하고자 할 경우도 발생하기 마련이다(로그인 페이지에서 메인페이지로 이동하는경우).

이 경우 우린느 root page를 변경할 수 있다. 

위 예에서 소그림을 root page로 할 수 있다.


언제 push하고 언제 root page로 해야 하나?


현재뷰의 차일드로 전환하고자 하는 경우 또는 새로운 뷰에서 이전뷰로 돌아오기를 원한다면 push를 해야한다.

현재뷰의 차일드가 아니거나 애플리케이션의 다른 섹션으로의 이동이라면 root page를 변경해야 한다.

root page와 root component는 다르다. root component(보통 app.component.ts)가 root page를 정의한다. 


Ionic2 네비게이션 기초


NavController를 import해야 한다.


import { NavController } from 'ionic-angular';


그리고 생성자에서 inject해야 한다.


@Component ({

  templateUrl: 'home.html',

})

export clas MyPage {

  constructor(public navCtrl: NavController) {


  }

}


NavController의 레퍼런스가 생기고 클래스내 어디에서든지 사용이 가능하다. 이제 어떻게 push/pop을 하는지 보자


페이지를 push하려면 


this.navCtrl.push(SecondPage);


앞에서 inject한 navCtrl로 push하였다. 이렇게 하려면 SecondPage가 import되어야 한다.


import { SecondPage } from '../second-page/second-page';


이제 코드내에서 push를 호출하면 새로운 페이지가 표시될것이고 nav bar에 자동으로 백버튼이 생성이 될것이다.

pop을 언제 할것인지 고민하지 말라. 백버튼을 누르면 알어서 pop해줄것이다.


수동으로 이전 페이지로 이동하고자 한다면 명시적으로 pop을 호출한다.


this.navCtrl.pop();


이번엔 root page를 변경한는 방법이다. app.ts에 rootPage를 정의하였을 것이다.


rootPage: any = MyPage;


root component의 rootPage변수에 root page를 셋팅할것이다. root page를 변경하려면 NavController의 setRoot함수를 호출하면 그만이다.


this.navCtrl.setRoot(SecondPage);



Ionic2에서 페이지간 데이터 전송


모바일애플리케이션에서는 보통 페이지간의 데이터를 전달할 방법이 필요하다. Ionic2에서는 NavParams로 가능하다. push로 페이지 호출할때 파라메터를 생성하여 전달하는 방법이 있다. 이 방법은 setRoot시에도 동일하게 적용된다.


this.navCtrl.push(SecondPage, { thing1: data1, thing2: data2});


추가 파라메터가 더해진것 말고 이전과 사용법이 동일하다. 호출되는 페이지에서는 NavParams를 생성자에서 inject해야 한다.


import { Component } from '@angular/core';

import { NavController, NavParams } from 'ionic-angular';


@Component ({ templateUrl: 'second-page.html'})

export class SecondPage {

  constructor(public navCtrl: NavController, public navParams: NavParams) {


  }

}


이제 파라메터에 접근하려면 아래와 같이 하면 된다.


this.navParams.get('things');


신고
Posted by 삼스

티스토리 툴바