iPhone 6s가 출시되면서 iOS 9에는 3D Touch와 관련된 기능이 많이 추가 되었다. 그중 하나가 Home Screen Quick Actions 기능이다. 퀵 액션, 단축 버튼과 같은 기능을 한다. 홈 스크린에서 아이콘을 꾹! 힘있게 누르면 퀵 엑션을 지원하는 앱은 바로 가기 리스트가 나타나고 없는 앱들은 탭틱 진동이 살짝 일어난다. 6s 미만의 아이폰에서는 지원하지 않는다.


앱에 3D Touch 관련 기능을 추가할 때 가장 쉬운것이 퀵 액션이다. 코드 몇 줄만 작성을 하면 기존에 앱에 코드 구조를 바꿀 필요가 없이 퀵 액션을 추가할 수 있다.


퀵 액션은 코드 상에서는 Shortcut Item이라고 부른다. 숏컷 아이템은 크게 두 가지로 나뉜다. 

  1. Static Shortcut Item
  2. Dynamic Shortcut Item

스태틱 숏컷 아이템은 plist에서 설정을 하고 변경할 수 없다. 하지만 앱에 정의 되어 있기 때문에 최소한 한번을 실행하지 않고 설치만 했을 때에도 퀵 액션을 만들 수 있다.


반면에 다이나믹 숏컷 아이템은 앱이 실행되고나서 UIApplication.sharedApplication().shortcutItems에 할당 하기 때문에 최소한 한 번 은 실행을 해줘야 다음에 나타나게 된다. 앱을 업데이트 하거나 재설치 할 때도 마찬가질수 도 있다. 하지만 고정되지 않고 원하는대로 아이템을 변경할 수 있다. 


애플의 기본앱인 사진기 앱과 전화 앱을 비교해 보면 그 차이를 알 수 있다. 사진기 앱은 기능이 딱 4개로 정해져 있다. 하지만 전화 앱은 Favorites에 설정한 상단 4명을 보여줄 수 있다. 퀵 액션에 보여주고 싶으면 리스트의 순서를 바꾸면 된다. 


원래 하고 싶었던 것은 앱을 실행 하지 않고 퀵 액션만 부르면 랜덤값으로 계속해서 변경을 해서 보여주고 싶었다. 하지만 그 방법은 없는 것으로 보인다. 최소한 한 번 이상의 앱이 실행되어야 계속 해서 랜덤값으로 할당 해 줄수 있다.


가장 간단하게 Dynamic ShortItem을 만드는 방법을 알아보도록 하자. 


앱상 어디에서 구현해도 상관은 없지만 최소한 한 번은 호출 되어야 보이기 때문에 func application(application:, didFinishLaunchingWithOptions:) 에 구현을 하면 되긴한다. 하지만 앱이 첫 번째로 실행 되었을 때만 호출이 되고 그 다음에는 호출 되지 않으므로 지속적인 변경을 위해서는 applicationDidBecomeActive(application:)에 넣으면 다음에 앱이 열였을 때도 이 메소드가 호출이 되어서 다시 숏컷 아이템을 재 할당할 수 있다.


UIApplicationShortcutItem을 만들고, UIApplication.sharedApplication().shortcutItems 에 넣으면 끝이다. 정말 간단하지 않는가? 


글로벌 변수로 스트링 값을 가진 배열을 하나 만들었다.

var randString : [String] = ["김밥", "라면", "만두", "김치찌개", "로브스터", "냉면", "비냉", "떡볶이"]


그리고 앱이 실행되면 ShortItem에 할당할 아이템을 아래와 같이 구현한다.

func applicationDidBecomeActive(application: UIApplication) {
  // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
  print("applicationDidBecomeActive")

  let count = UInt32(randString.count);
  
  // 1.
  let item1 = UIApplicationShortcutItem.init(type: "type1", localizedTitle: randString[Int(arc4random_uniform(count))], localizedSubtitle: "test", icon: UIApplicationShortcutIcon(type: UIApplicationShortcutIconType.Compose), userInfo: nil)
  
  let item2 = UIApplicationShortcutItem.init(type: "type2", localizedTitle: randString[Int(arc4random_uniform(count))], localizedSubtitle: "test", icon: UIApplicationShortcutIcon(type: UIApplicationShortcutIconType.Compose), userInfo: nil)
  
  let item3 = UIApplicationShortcutItem.init(type: "type3", localizedTitle: randString[Int(arc4random_uniform(count))], localizedSubtitle: "test", icon: UIApplicationShortcutIcon(type: UIApplicationShortcutIconType.Compose), userInfo: nil)
  
  let item4 = UIApplicationShortcutItem.init(type: "type4", localizedTitle: randString[Int(arc4random_uniform(count))], localizedSubtitle: "test", icon: UIApplicationShortcutIcon(type: UIApplicationShortcutIconType.Compose), userInfo: nil)
  
  let shortcutItems : Array = [item1, item2, item3, item4]
  
  // 2.
  UIApplication.sharedApplication().shortcutItems = shortcutItems

}
  1. shortcutItems에 넣을 UIApplicationShortcutItem을 하나 만든다. type은 퀵 액션으로 호출 되었을 때 구분을 위한 것이다. localizedTitle은 텍스트로 들어갈 값이고 localizedSubtitle은 밑에 추가 설명글이다. 옵셔널이다. icon은 시스템에 내장된 아이콘을 사용해도 되고, 아니면 커스텀 아이콘을 사용해도 된다. userInfo에는 추가적으로 들어갈 정보이다. 옵셔널이다.

  2. 최대 4개의 퀵 액션을 지원하므로 4개의 아이템을 배열에 넣고 shortcutItems에 할당한다.

이렇게 하고 빌드&런을 하면 아이콘을 꾹 누르면 퀵 액션이 보여진다. 그리고 실행했다가 다시 누르면 아이템들이 변경되는 것을 확인 할 수 있다. 


하지만 숏컷을 눌러서 이제 그 type에 맞는 액션을 호출 하게 하려면 AppDelegate에서 func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void)를 구현해줘야 한다. 


func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
  
  switch shortcutItem.type {
  case "type1":
    print("type1")

  case "type2":
    print("type2")
  
  case "type3":
    print("type3")
  
  case "type4":
    print("type4")
    
  default:
    print("test")
  }
}

앞에 UIApplicationShortcutItem.init에서 type으로 설정한 것이 shortcutItem.type이다. 이것으로 구분하여 각각에 퀵 액션에 대한 것을 구현 할 수 있다.


리스트 순서와 아이콘의 위치는 3D Touch Human Interface Guide Line을 참조하도록 하자.


홈 화면에서 아이콘이 상하좌우 위치에 따라서 퀵 액션(ShortCut)의 순서(order)와 아이콘의 위치가 다르게 나온다. 아이콘에서 가까운쪽이 순위가 높은거고, 아이콘의 위치는 아이콘에 가까운곳에 숏컷 아이콘이 오게 된다.


이상 아주 간단하게 퀵 액션 만드는 방법을 살펴 보았다.




저작자 표시 비영리
신고
Posted by KraZYeom


아이폰은 CPU논란에 이어서 스토리지 NAND 타입이 TLC냐 MLC냐 논란도 있다. MLC면 더 좋겠지만 아이폰에서 미친듯이 토렌토를 돌리고 지우고 쓰고 하는 것도 아니니 크게 문제가 되지 않지만 소비자는 이왕이면 더 좋은 제품을 원한다. 


이전 iPhone 6, iPhone 6+에서도 크게 논란이 되었다. 또 삼성 제품이냐 그 외 제품이냐의 차이도 있긴 하다. 


체크 하는 방법은 http://www.pgyer.com/tlccheck 링크에 가서 앱을 하나 설치 하면 된다. 중국 회사로 보이니 개인정보 등등이 꺼려지면 안 까는게 맞다. 

비밀번호를 넣어야 인스톨 할 수 있는데 0000 비밀번호를 넣고 홈 버튼을 눌러서 바탕 화면에 돌아오면 앱이 설치 된다. 


애플 앱스토어에서 받은 앱이 아니기 때문에 앱을 터치해서 실행을 하면 믿을수 없는 개발자라고 팝업창이 뜬다. 


실행하기 위해서는 믿을수 있는 인증서라고 한번 인증을 해줘야 한다. 설정(Settings) > 일반(General) > 프로파일 & 디바이스 관리(Profiles & Device Management) 로 가면 아래 Enterprise Apps 에 Yunnan science and Technologu Co., Ltd.가 있고 선택 후, Trust 버튼을 누르면 확인하는 팝업 창이 하나 뜬다. 또 Trust 버튼을 누르면 된다. 한번 확인 후에는 바탕 화면에서 앱을 지우거나 Delete App 버튼을 눌러서 앱을 삭제하면 된다. 


다시 앱을 실행하면 아래 그림과 같이 간단한 폰의 정보가 나오고 NAND 정보까지 나온다. 128기가 제품이여서 그런지 당연히 TLC로 나온다. 벤더는 싼디스크. 


뽑기 논란이 많다. 성능의 차이도 있긴 하지만 아이폰 6s, 6s+ CPU 제조사 확인 방법 에서도 말했지만, 각 부품은 미달 되는 제품이 아니니 크게 걱정 할 필요가 없다. CPU 논란이 있었을 때도 이곳저곳에서 테스트 했지만 성능의 차이는 1-2%이고 일반적으로 사용할 때는 거의 문제가 되지 않는다고 했었다. 맥 처럼 크게 파워풀하게 돌리는 앱도 없고 엄청난 영향은 없으니, 그냥 빨리 사서 잘! 사용하면 가장 좋다.





​ ​​마음에 드셨으면 아래 추천 버튼을 꾹 눌러주세요. :-)


저작자 표시 비영리
신고
Posted by KraZYeom



구매 삽질

미국 시간으로 9월 12일. 우리나라 시각으로 9월 13일 일요일 오후 4시인가 전세계 동시에 아이폰 예약을 실시하였다. 원래 계획으로는 홍콩에서 지인이 26일 입국할 때 받아 올 예정으로 계획을 했었다. 


하지만 홍콩 애플 온라인 스토어에서 예약 페이지가 버벅이면서 거의 바로 예약 하긴 했으나 일단 배송이 10월 5일 이후로 밀려버렸다. 계획 실패. 


그래서 세금이 없는 지역인 OR 지역과 DE 지역을 동시에 노렸다. 일단 배대지가 짤린다는 흉흉한 소문이 있어서 동시에 와이프 이름으로 iPhone 6s+ 128GB 로즈골드 제품을 넣었다. 그리고 또 짤릴 것을 대비해서 iPhone 6s 64GB 버전도 한 대 더 주문을 했다. 


주문을 할 때 팁을 주자면 애플 온라인 스토어 웹 페이지는 정말 느리다. 이건 구글도 애플도 어쩔수 없는 일이다. 작년에는 더 밀렸지만 올해는 그나마 구매 서버가 버텨준게 신기할 정도이다.


애플 스토어 앱을 이용하면 API를 통해서만 접근해서 그런지 조금 더 쾌적하다. 미리 주문용 애플 ID를 주소, 결제 정보, 배송지 등을 기입해서 준비해두어야 한다.


3대가 아무런 문제가 없이 주문이 되었다. 나름 성공적. 최악?의 경우 3대 모두 들여와도 나머지는 팔면 되니까 큰 문제는 없었다. 1인당 동일 제품 1대는 주의하자. 색상이 달라도 다른 제품으로 취급해서 통관에는 문제가 없다는 이야기가 있긴하다. 단, 책임은 못 집니다.


그리고 일주일 쯤 지나고 애플에서 한통의 메일이 왔다. 

애플 스토에서 구입을 해줘서 고맙지만 한 사람당 구매할 수 있는 범위를 초과했다. 

ID도 분리하고 카드, 배송지, 결제 빌링 주소지도 나름 구분해서 주문을 했었는데 어쨌든 한 대 취소가 되었다. 무슨 문제인지는 모르겠지만 이게 배대지를 거부 한다는 이야기 같기도 하다. 많은 사람들이 한 곳으로 주문을 넣다보니 이런 현상이 발생하기도 한다. OR 지역으로 주문한 것이였다. 살짝 나중에 추가 주문을 해서 그런가 싶다. 


그리고 무사히 미국 시간으로 9월 25일에 2대가 각각 OR과 DE지역으로 도착을 했다. 여기서 또 다른 문제가 생겼다. 추석 연휴가 끼는 바람에 배대지 휴일도 각각 달랐다. OR 지역으로 시킨 것은 국내 휴일과 거의 동일하게 쉬는 바람에 빨리 도착은 했지만 늦어졌고, 다른 한곳에 시킨 것은 DE->NJ 지역으로 옮기는 과정을 하루 추가했는데도 불구하고 토요일도 작업을 해서 잘 진행이 되었고, 국내에서도 화요일 대체 휴무일에도 통관 작업을 해서 통관이 완료되었다. 


배대지 사용시 빠른 관세 납부 방법 참조 바람. 


우리나라 시각으로 26일에 미국 DE 도착해서 27일날 한국으로 출발해서 30일에 받았으니 추석이 끼었는데도 불구하고 전혀 딜레이가 없었다.


간단 개봉기

아이폰이 나온지 꽤 오랜 시간이 흘러서 개봉기가 무슨 의미가 있나 싶다. 미국에서는 4개의 통신사에서 언락 제품을 팔았다. 그나마 가장 괜찮게 언락이 된다고 알려진 T-Mobile 제품을 골랐다. (한국에 출시할 모델과 동일한 모델이면 나중에 AS에도 문제가 없는 제품을 골라야 하나 어떤것인지 확실하지 않아서...) 다른 제품들도 미국 법상 모든 금액을 지불하고 구입을 하면 언락을 해줘야한다. 그래서 언락이 되어 있다고 생각이 든다. 


T-Mobile의 제품의 가장 큰 특징은 선불 유심이 내장되어 있다. 그래서 그런지 유심 뽑는 도구가 들어 있지 않다. OTL 이 과정에서 굵은 클립으로 유심 트레이를 꺼내보려고 했으나 들어가지 않아서 실패. 대나무 이쑤시개(다른 이쑤시개 보다 얇고 단단함)가 있어서 그걸로 무사히 유심 트레이를 뽑았다. 


그리고 (다들 LTE를 사용할 때 저렴한 무제한 요금제 때문에) KT 3G를 사용하는데 전혀 문제가 없다. 엑티베이션 과정에서 부터 유심을 넣고 진행을 했으나 끄고 켜는 과정이 필요 없이 바로 KT 3G로 인식이 되었다.

또한 크기가 살짝 커지고 두꺼워졌으나 케이스는 문제 없이 호환이 된다. 아주 꽉 끼는 제품은 더 낄수도 있겠다. 


그리고 터치 ID 2가 미친듯이 빠르다. 평소 지문이 잘 망가져서 인식이 잘 안되는데도 불구하고 아래 동영상에서 처럼 그냥 대면 바로 인식을 한다. 


로그 골드는 조명 때문인지 모르겠으나 아주 핑크 처럼 보이지 않는다. OTL 이쁘긴 하다. 하하.


일본, 한국 제품 외에는 카메라를 찍을 때 찰칵 사운드가 없어서 정말 좋다. 화면 캡쳐만 해도 소리가 엄청 크게 나서 짜증났었는데.



​ ​​마음에 드셨으면 아래 추천 버튼을 꾹 눌러주세요. :]


저작자 표시 비영리
신고
Posted by KraZYeom

한국에 10월 23일 (금) 출시 발표 했습니다. 

한국, 미국, 일본 등 아이폰 6s, 6s+ 가격 비교 여길 참조하세요. :]


드디어 오늘 9월 25일, 애플에서 iPhone을 출시하였습니다. 호주, 일본, 홍콩, 중국, 미국 등 1차 출시국에서 동시에 출시 되기 때문에 시차로 인해서 호주에서는 벌써 판매가 되고 있습니다. 그 다음이 일본, 중국, 홍콩 이런 순이 아닐까 싶습니다. 그래서 미국이 가장 늦는 편에 속합니다. 

저는 iPhone 6s+ 로즈골드 128GB 제품을 미국에서 예약을 했고, 배대지를 통해서 받을 예정입니다. 

[사진 출처 : 애플 홈페이지]


그래서 사람들이 가장 궁금해 하는 가격표를 살짝 뽑아봤습니다. 일본 온라인 스토어에는 소비세 8%가 안된걸로 알고 있는데 맞는지 모르겠네요.


iPhone 6s, 6s+ 각국 가격 비교 구글 닥스에 미국, 일본, 호주, 홍콩.. 그리고 한국 예상가격을 뽑아봤습니다. 



미국, 일본은 직접가서 구매했을 가격도 뽑았습니다. 미국의 경우는 세금이 없는 지역도 있고, 일본의 경우는 6개월 이하로 여행을 할 경우 소비세 8%를 현장에서 바로 빼주므로 많이들 가서 구입해 오시니까요.


구입시 각 나라별 특징

  • 미국 : 오레곤, 델라웨어 등에서는 부가세 0%
  • 일본 : 현장에서 구입할 때 6개월 이하 여행객은 소비세 8% 빼줌, 카메라 셔터음 있음
  • 홍콩 : 홍콩 시민카드? 가 필요하다고 함. 
  • 호주 : 세계에서 가장 빨리 출시 되나 거리가 멀고.. 이미 부가세 포함되어 있음


한국에서 출시하기 전에 먼저 구입하고 싶으신 분들은 위 표 및 특징을 참조해서 구입에 도움이 되었으면 합니다. 배대지나 직접 들고 오실경우에는 부가세 내는게 원칙이니 참고하세요. 속이다가 걸리면 평생 족쇄가 될 수 있습니다.


한국에서는 언제 출시 될지 모르겠지만 조만간 10월 달 내로 출시 하지 않을 까 싶습니다.  iPhone 출시일 점치기 표를 보면 10월 24일 또는 31일쯤 나오지 않을 까 생각합니다.


지금 환율이 아주 많이 올라서 생각보다 비싸게 나올 가능성이 있습니다. 출시전 가장 저렴하게 사는 방법은 미국 부가세가 없는 지역 사는 것입니다. 가장 비싸게 사고 싶으시면 프랑스, 영국에서 사면 가장 비싸게 살수 있습니다. ... 그리고 나중에 브라질에서 구입을 하면 넘사벽으로 구입을 또 할 수 있습니다. 


어서 추석이 끝나서 받았으면 하는 바람이네요. :]



저작자 표시 비영리
신고
Posted by KraZYeom