2014. 9. 19. 12:21

17일(지난 수요일)에 애플이 아이폰/아이패드/아이팟을 위한 최신 운영시스템인 iOS8을 릴리즈 하였다. 

새로운 기능들이 많이 추가가 되었으며 이번 가을(10월)에 릴리즈 예정인 맥북의 새로운 운영시스템 요세미티에서 메시지를 보내고 받거나 심지어 전화도 걸고 받을 수 있는 기능도 추가되었다고 한다.  

아직 업그레이드를 하지 않으셨다면 신중히 생각하시고 업그레이드를 하시길 권고 드립니다.

일단, 이번 업그레이드는 굉장히 많은 공간을 필요로 합니다. 적어도 5.8GB의 저장용량이 비어 있어야만 업데이트가 진행되며 아이패드 미니 레티나 버전의 경우 6.9GB가 필요합니다. 그렇기 때문에 저용량 기기를 사용하시는 분들은 음악/사진과 같은 데이터는 물론 심지어 일부 어플리케이션들을 지웠다가 다시 깔아야 하는 상황이랍니다.  컨텐츠들은 iCloud에 백업을 해두시는 것도 방법입니다. 어찌되었건 업그레이드가 완료된 후 대부분의 저장공간이 사용가능공간으로 복구 됩답니다. 하지만 업그레이드에 사용될 파일을 다운로드 이후에 실제 업그레이드가 30여분 넘어 1시간이 걸릴 수 있다는 점입니다. 물론, 파일 다운로드 동안은 폰을 사용가능 하지만 업그레이드 중에는 폰을 사용할 수 없으니 시간을 잘 선택해서 업그레이드를 진행하시길 권장합니다.

iOS7으로 업그레이드 될 때 아이폰3/3S가 지원 기기목록에서 누락되었고  iOS8으로 업데이트 될 때는 아이폰4가 지원목록에서 누락되었다. 

팁(Tip)이라는 어플이 추가되어 iOS8의 추가된 기능들에 대해서 알려준다. 스마트폰도 메뉴얼이 필요할만큼 너무 복잡해지고 있는지도 모른다.










티맵이 아래와 같이 오동작하네요. 오늘(19일) 아침에는 어플들이 iOS8대응을 위하여 많이 업데이트 되었네요.


Posted by 모바일헌터
2014. 9. 19. 03:42

[ Application Settings Editor ]

Application Settings는 각 어플리케이션을 위하여 사용자의 설정을 저장하기 위한 기능이다.  

- "Application Settings"는 IDE에서는 Project의 setting디렉토리 밑에 위치하는 setting.xml파일에 포함


- 실제 폰에서는 Settings의 Downloaded applications 메뉴에서 다운로드된 애플리케이션들의 설정정보를 보고, 수정할 수 있다.




Application Settings Editor를 이용하여 setting.xml파일을 만들어보자.

- File → New → Other → Tizen → Tizen App Setting File

- Project Explorer view에서 프로젝트를 선택하고 왼쪽 마우스 버튼을 클릭하고 New→Tizen App Setting File

XML파일은 다음과 같은 엘리먼트들로 구성되며 파일이 처음 생성되었을 경우 <settings>가 구성되어 있으며 <settings>에서 <setting>을 "Add Setting ChildElement" 옵션을 이용하여 추가할 수 있다.

 엘리먼트

 내용

 <settings>

 setting.xml의 루트 엘리먼트 

 <setting>

 settings를 표기 위한 각 페이지를 위한 엘리먼트 (그런데 실제로는 1개의 setting만 허락됨으로 굳이 <settings>내에 <setting>를 다시 표기하는 이유는 모르겠다.

 <group>

아래의 setting값들을 그룹으로 묶어서 표기할 수 있다.

 <bool>

토글 컨트롤로 on/off를 표기한다.

 <integer>

스핀 컨트롤로 일정 범위의 수를 표기한다.

 <string>

수정가능한 텍스트 컨트롤로 문자열을 표기한다. 

 <label>

수정이 불가능한 텍스트 레이블 컨트롤로 문자열을 표기한다. 
 <expandlist>

여러 조건들 중 한가지를 고를 때 라디오 버튼들의 그룹을 표기한다.

 <expanditem>

expandlist의 각 조건들의 문자를 라디오 버튼과 표기한다. 

 <launch>

App 컨트롤을 실행하기 위한 엘리먼트이다. (...)





Posted by 모바일헌터
2014. 9. 19. 00:22

지난 6월 WWDC에서 발표된 Keynote중 건강을 체크하는 HealthKit은 인상적인 부분이었다.  하지만 어제(17일) 발표된 iOS8의 중요한 기능 중 하나였을 이 HealthKit이 소프트웨어 버그에 발목이 잡힌듯하다.  애플을 버그가 수정된 업데이트를 이번달 말까지 제공하기 위하여 작업 중이라고 밝혔다.

HealthKit은 Health라는 어플과 함께 동작하며 건강관련 정보의 체크에서 관리까지 연결된 서비스를 의료산업 제공하며 플랫폼? 허브?로써의 역할을 할 예정이었다.  아이폰만으로 다양한 건강 관련 정보를 측정하는데는 한계가 있으며 3rd파트 하드웨어로부터 취합된 정보들을 데이터베이스화하여 병원 혹은 건강관리를 할 수 있는 다양한 앱들과 연계를 제공하므로써 핸드폰에서 또다른 생태계를 만들었다는데 주목해야 한다. 

하지만 중요한 것은 번번히 실수가 잦다는 것이다. 개발자들은 물론 사용자들이 등을 돌릴지도 모른다는 생각을 해야 할 것 같다. 혁신을 통한 새로움 먹거리를 제공하는 것도 좋지만 있는 것을 지키기 위한 노력도 중요하다는 점을 인신했으면 한다.  다음은 내가 가장 자주 사용하는 앱중에 하나인 티맵을 iOS8에서 실행한 화면이다.  내가 집에 가는 길을 인도해야 할 T맵이 저 상태다.  난 내일부터 차를 갖고 외출이 불가능할 듯 하다. 아는 길이 아니라면 말이다.


iOS7업그레이드 전에도 개발자들이 미리 앱을 확인해보기 위해서는 돈을 지불을 하고 자기 폰에 설치를 해서 앱이 정상동작하는지 애플의 업그레이드 이전에 확인해볼 수 있었으며 개발툴(xcode 6.01)이 iOS8 애뮬레이터를 갖고 테스트를 지원하는 것도 너무 시간이 촉박하였다.  좀 더 사용자를 배려하기 위하여 개발자들을 먼저 좀 배려했으면 하는 마음이다. 

iOS8에서 티맵 사용하기 [바로가기] : 버그가 수정되기 전까지는 이렇게 사용해야하나?

다음은 WWDC의 HealthKit관련 Keynote동영상




'IT 뉴스' 카테고리의 다른 글

Telegram(텔레그램)이 뜨고 있다.  (0) 2014.09.23
iOS8으로 업그레이드!  (0) 2014.09.19
Beacon은 무엇인가?  (0) 2014.09.14
모바일 시장의 변화 (Pay)  (0) 2014.09.14
Intel® Edison  (0) 2014.09.14
Posted by 모바일헌터
2014. 9. 16. 02:24

91년 처음 C언어 책을 펼쳤을 때 제일 먼저 만들어 보았던 "Hello World" 어플을 만들어 봅시다.


여러분이 프로그램책을 한번이라도 읽으신 경험이 있으시다면 Hello World 프로그램을 만들어 보셨을 것입니다.  아마도 "Hello World" 앱을 작성하면서 기본적인 언어의 구조를 파악하고 개발환경에 대한 소개를 접하며 컴파일을 통해 자신의 첫번째 앱을 손쉽게 만들어 봄으로써 자신감을 얻으실 수 있을 것이라고 생각합니다.


Tizen SDK 2.2.1을 기준으로 작성하였다.



타이젠 SDK설치  


만약 Tizen SDK를 아직 설치하지 않으셨다면 "0-1. 타이젠 SDK설치"를 참조하시어 설치를 하신 후에 다음을 진해하십시오.


목표를 확인하자!


프로그램을 실제로 만들기 전에 우리가 만들 "Hello World" 앱을 한번 살펴보자. 간단하게 타이틀에 Hello World!를 표기하고 OK 버튼을 중앙에 위치시켜 보았다. 이 복잡하지 않은 앱이 여러분의 첫번째 타이젠 네이티브 앱이 될 것이다.





Tizen IDE를 실행


Tizen IDE()를 SDK가 설치된 폴더 하위 폴더인 ide 폴더 안에서 찾아서 실행하자!

 Workspace Launcher에서 Workspace의 위치를 설정하자! Tizen IDE에서 생성하는 프로젝트들이 저장될 폴더를 workspace라고 한다.


 만약 workspace를 처음 선택하신 것이라면 다음과 같은 환영 창을 보실 수 있다.


새로운 프로젝트를 생성하자


 새로운 프로젝트를 생성하자

- menu에서 file  new →  (project...  → tizen  → ) Tizen Native Project 혹은
- Project Explorer에서 Secondary Click  →  new →  (project...  → tizen  → ) Tizen Native Project


  Template를 선택하고 Tizen Native 트리에서 Form-based Application을 선택한다. 

- With SceneManager나 Without SceneManager 문제가 안된다. 나중에 SceneManager에 대해서 설명할 예정이다.

 템플릿으로부터 workspace 디렉토리에 소스가 생성되었다.



UI Builder를 이용하여 리소스를 수정하자


 "UI Builder"를 실행해보자!
- Project Explorer에서 HelloWorld→res→screen-size-normalIDL_FORM.xml 파일을 더블클릭 하거나

- Project Explorer에서 HelloWorld에서 오른쪽 마우스를 클릭하고 메뉴에서 "Run Native UI Builder"를 선택하자.


 UI를 수정하자!

- 외쪽 상단의 "Outline" view에서 IDL_FORM을 선택하고 Header를 선택하거나 중앙의 "Form" view에서 "Hello Tizen!"이라고 적혀있는 Head 영역을 직접 클릭해보자.

- Header가 선택된 상태에서 좌층 하단의 "Properties" view에서 Title Text를 "Hello Tizen!"에서 "HelloWorld!"로 변경하고 저장하자.

HelloWorld를 빌드하자


  Project Explorer에서 HelloWorld Project를 선택하고
- menu → Project   Build Project 혹은
- F10 혹은
- 오른쪽 마우스 버튼을 클릭하여 프로젝트를 빌드하자.


  빌드가 정성적으로 에러없이 종료 되었다면 애뮬레이터에서 HelloWorld 앱을 테스트해보자.

- 앱을 테스트 하기 위해서는 애뮬레이터를 실행하거나 실제 디바이스를 연결해야 한다.

- 애뮬레이터나 실제 디바이스에 앱을 설치하기 위해서는 


애뮬레이터를 연결하자


  Connection Explorer view에서 애뮬레이터 메니져 버튼을 클릭하여 실행하자.

  새로운 VM을 생성하기 위해서 + 버튼을 누르고 VM의 이름을 Detail에서 입력하고 Confirm 버튼을 누르자.

  생성된 VM하단의 ▶버튼을 클릭하여 애뮬레이터를 실행하자. 

  다으모가 같이 애뮬레이터가 실행된다.


 애뮬레이터가 실행되면 Connection Explorer가 어떻게 변경되는지 확인해보자.


개발자/판매자 Certificate를 생성 등록


 사이닝 관련 작업을 수행하지 않았다면 다음과 같은 에러 다이얼로그를 보게된다.

     [타이젠 앱 보안관련 아키텍쳐]

  Preferences > Security Profiles 를 선택하시고 개발자와 배포자 시그니쳐를 생성해보자!

  - Tizen SDK → Security Profiles를 선택하고 Security Profiles를 추가해보자. (Add 버튼 클릭!)

 Profile Name을 입력하자.

 Generate 버튼 클릭

Hello World 프로그램을 실행해보자.


 Project Explorer에서 HelloWorld를 선택하고 

    * menu에서 Run → Run 혹은
    * ⌘ F11 혹은
    * 오른쪽 마우스를 클릭하고 Run As 
  1. Tizen Native Project



수고하셨습니다.

  


Posted by 모바일헌터
2014. 9. 16. 02:18

모바일 디바이스 시스템과 유저 개인적인 데이터를 효과적으로 보호하기 위하여 타이젠 보안 아키텍쳐는 권한(privileges)과 리눅스의 기본 보안 모델의 앱 사이닝 기반의 보안 아키텍쳐를 사용한다.

  • 권한(Privileges) : 보안에 민감한 API들을 사용할 경우 요청된 권한을 정의해야만 한다.
    • 안드로이드의 Menifest에서 정의되는 Permission에 대응하는 구조이다.
  • 앱 사이닝(Application signing) : 타이젠 앱은 개발자와 배포자의 시그니쳐에 의해서 서명되어야 한다.
    • 개발자 시그니쳐 (Author Signature)
    • 배포자 시그니쳐(Distributor Signature)
  • 사생활관련 API를 위한 예외처리 관리(Exception handling for privacy-sensitive APIs)

[Check API and Privilege Violations]
API와 Privilege의 위한 사항에 대해서 Project 메뉴에 "Check API Violation", "Check Privilege Violation", "Check API and Privilege Violations" 메뉴를 활용하여 개발 중에 확인 할 수 있다. 

체크 결과는 Problem 뷰에 Infos 트리에 표기된다.

  • API Violation Type
    • API 버전 경고 (API version alarm)
      • API가 특정 버전 이후부터 제공되기 시작한 경우
        ☆ 특정 버전 이후부터 제공 되었기 때문에 manifest.xml의 Basic 탭에서 "Min API version"을 조정하거나 해당 API를 사용하지 않는 것이 좋다.
    • API 호환성 경고 (Compatibility alarm)
      • API가 버전별 호환성에 문제가 있는 경우
        ☆ 버전 별로 호환이 되지 않기 때문에 문제점을 확실히 파악하고 사용해야 한다.
    • API 삭제 경고 (Deprecated API alarm)
      • API가 특정 버전 이후부터 더 이상 사용되지 않는 경우
        ☆ 하위 호환성을 고려하여 실제로 삭제되는 경우는 드물다. 따라서 컴파일이되지만 중요도가 떨어져 더 이상 사용되지 않아 앞으로 사라지게 될 API이므로 가능하면 사용하지 않는 것이 바람직하다
  • Privilege Violation Type
    • Undefined privilege alarm
      • privilege의 추가를 필요로 하는 API를 사용하였지만 menufest에 추가되지 않은 경우
        ☆ menifest파일을 오픈하여 Privileges탭에서 해당 privilege를 추가한다.
    • Unused privilege alarm
      • menufest에 privilege를 추가하였지만 추가된 privilege에 속하는 어떤 API도 사용하지 않은 경우
        ☆ 불필요한 privilege는 삭제하고 만약 나중에 privilege에 속하는 API를 사용 예정이라면 무시한다.


[개발자와 배포자 시그니쳐를 생성해보자!]

1. Preferences를 실행하자.
  - menu → Tizen  IDE Preference or ⌘ + ,

  - Tizen SDK → Security Profiles를 선택하고 Security Profiles를 추가해보자. (Add 버튼 클릭!)

  - Profile Name을 입력하자.

- Generate 버튼 클릭






Posted by 모바일헌터
2014. 9. 16. 00:20

타이젠은 표준기반 오픈소스 플랫폼이다.  스마트 폰을 시작으로 태블릿, 웨어러블(시계), 자동차등 다양한 장비를 지원할 예정이다. 다음은 타이젠의 아키텍쳐에 대한 그림이다.


타이젠의 전신인 SLP 초기에는 Native Application만을 GTK+ 기반으로 지원하였으며, 그 후 EFL을 추가하면서 UI Framework를 강화하고 Web Runtime을 통해 Web Application을 지원하였지만 타이젠은 Web과 Native Application을 위해 Framework으로 분리하고 Core에 각종 Framework들을 Web과 Native Framework 이 공유할 수 있는 구조를 갖추었다.  

지난 6월2일 Tizen 2.3 Alpha가 릴리즈되었으며 다음의 사이트에서 확인할 수 있다.
> Tizen 2.3 Alpha SDK and Source code release 

스마트 폰에서는 위와 같은 구조이지만 웨어러블(시계)와 TV에서는 Natvie Application을 지원하지 않고 Web Application만을 지원한다.  Camera의 경우도 Web Application으로 UI를 구성한 듯 한다. 자동차는 인텔의 주도하에 Qt쪽으로 기우는 형국이다.  뭔가 표준화를 지향한다기 보다는 제각각 따로 놀고 있는 분위기이다.


SDK 2.2 버전을 OSX 에 설치하기에 대한 글



Posted by 모바일헌터
2014. 9. 14. 23:26

몇 년 사이에 현대인의 필수품이 되어버린 스마트폰, 이 스마트폰을 가장 많이 사용하는 곳은 야외가 아니라 건물안이 대부분일 것이다. 하지만 건물안에서는 GPS(Global Positioning System)를 이용한 위치기반서비스를 받기가 불가능하며 때론 전화망이 안되는 곳도 있다. 이러한 건물안(in-door)에서 위치기반 서비스를 제공하기 위해서 요즈음 비콘(Beacon)이 지속적으로 거론 된고 있다.

가능성은 무긍무진하여 여러 곳에서 논의는 되고 있지만 정작 폭발력은 아직 약한 모습이다.

비콘은 무엇일까? 작은 등대
고정된 위치에서 자신의 존재에 대해서 주변의 모든 스마트폰에게 메시지를 전송하는 작은 디바이스.
※1. 비콘이 고정된 위치(벽), 혹은 사람이 들고 움직이는 것은 어쩔 수 없겠죠. 
※2. 주변이라고 함은 이론적으로 230피트(70m)까지이다.
3. 페어링(Pairing)없이 UUID를 주변에 무작의로 전송(Broadcast)한다
이 등내는 아래와 같이 동전 모양의 베터리로 최고 2년까지 동작이 가능하다고 한다.
단 시그널의 강도와 얼마나 자주 메시지를 전공하느냐에 따라서 배터리 수명은 달라질 수 있다는 것이다.

Estimote는 비콘을 작은 컴퓨터라고 칭한다.  기술적으로 Estimote의 Beacon은 작은 컴퓨터가 맞을지도 모른다. 256KB 플래시 메모리와 32-bit ARM Cortex M0 CPU를 사용하며 가속도와 온도측정 센서도 탑재하고 있다. 가장 중요한 것은 블루투스 4.0 (BLE-Bluetooth Low Energy)을 사용하고 있다는 것이다. 여러분들이 갖고 계시는 iPhone으로 주변의 BLE device를 검색해보세요. (BLExplr app)

자, 그럼 건물안의 작은 등대를 이용하여 우리는 무엇을 할 수 있을지 이야기해봅시다.

우선, 여러분이 비콘으로 받은 ID와 비콘까지의 거리를 이용하여 여러분이 위치한 위치정보를 알 수 있습니다. 
※1. 등대가 뿌려주는 UUID를 수신 받을 어플을 실행하고 있어야 한다는 것입니다. 그래서 특정 지역에서 특정 앱을 실행하라고 알려주는 시스템을 이용하라는군요. (Geofencing) 그런데 이 기능은 GPS를 이용하기 때문에 건물 안에서는 정상 동작하지않는 다는 점이죠.
※2. 비콘까지의 거리를 측정해야 하는데 이게 안타깝게도 블루투스 표준에는 아직 없어서 알아서 수신 시그널의 강도를 바탕으로 계산을 해야 한다는 것이죠. (RSSI; Received signal strength indication)

종합하자면, 전기를 사용하여 페어링(Pairing)이 된 디바이스 끼리도 사이에 물체가 있다면 10~20m 시그널을 보내기가 힘든 블루투스를 시스템을 이용해서 동전만한 베터리로 등대를 만들어 각 등대를 인식할 수 있는 어플을 적절히 설치하고 실행한 사람들을 위해서 서비스를 할 수 있는 시스템을 구축하자!!

하지만, 우리의 스마트폰이 수신만 가능 한 것이 아니라 송신도 가능하여 등대가 될 수 있다는 점입니다. 저는 이점이 더 매력적으로 다가옵니다.  만약, 우리가 특정지역에서 알맞는 어플을 실행해야 한다면 그것은 굉장히 귀찮은 일이 될 수 있습니다.  하지만 우리가 움직이는 등대가 되어 특정지역에 들어갔을 때 누군가 우리에게 특정 어플을 실행하거나 없으면 받으라고 이야기해줄 수 있다면 어떨까요?  그리고 그 등대의 UUID는 사생활 보호를 위해서 항상 변경이 가능하고요. 

2014년 초부터 비콘을 이용한 건물안 서비스에 대해서 고민 중인데 아직 해답을 찾기가 힘드네요. 

비콘이 여러군데 설치가 되고 관련 어플들이 많이 생기고 있는 것은 사실이지만 뭔가 폭발적인 인기를 얻기에는 2%가 아니라 80% 부족해 보입니다.

'IT 뉴스' 카테고리의 다른 글

iOS8으로 업그레이드!  (0) 2014.09.19
애플의 HealthKit이 의사가 필요하다?  (0) 2014.09.19
모바일 시장의 변화 (Pay)  (0) 2014.09.14
Intel® Edison  (0) 2014.09.14
iTunes Connect에 새로운 기능들  (0) 2014.09.12
Posted by 모바일헌터
2014. 9. 14. 22:11
◎ 단축키로 간단하게 화면을 캡쳐해보자!
  1. 전체화면 캡쳐 (Screen)
    • 파일저장 : shift + command() + 3
    • 클립보드저장 : shift + command() + control + 3
  2. 부분캡쳐 (Selection)
    • 파일저장 : shift + command() + 4
    • 클립보드저장 : shift + command() + control +4
  3. 창 캡쳐 (Window)
    • 파일저장 : shift + command() + 4 + space-bar
    • 클립보드저장 : shift + command() + control + 4 + space-bar


◎ 어플리케이션을 이용해 화면을 캡쳐해보자!

control + space 혹은 launchpad 를 실행하고 "grab" 혹은 "화면 캡쳐"라고 입력하여 어플을 찾아 실행해 보자. (launchpad F4 혹은 엄지 및 세 손가락 오므리기)



Posted by 모바일헌터
2014. 9. 14. 22:10

국내 PC와 Mobile 브라우져 사용자 통계정보입니다.




출처: koreahtml5.kr









Posted by 모바일헌터
2014. 9. 14. 21:51

"삼성전자 스마트 TV 앱스 개발자 포럼"에서 타이젠기반 삼성 TV개발을 위한 SDK를 다운 받아 아 설치해보자. 아직은 스마트 TV 앱스 개발자 포럼이 완전하게 타이젠을 지원하기 위한 준비가 되어 있다고 보기는 힘들지만 일단 설치를 하고 기본적인 사항들을 살표보자.

SDK 1.0 Beta Dwonload

우측의 SDK 1.0 Beta Download 이미지를 클릭하고 SDK 다운로 사이트로 이동하자

TIZEN TV SDK 1.0b

Mac OS를 위한 SDK를 다운로드 하고 인스톨 메니져를 실행하자.

압축파일을 해제하고 

터미널에서 chmod를 이용하여 "inst-manager.bin"에 실행모드를 추가하고 sudo를 이용하여 실행하자. 
$ chmod +x ./inst-manager.bin
$ sudo ./inst-manager.bin

물론, inst-manager.dmg 파일로 부터 설치 관리자를 실행할 수 있지만 현재 버전은 약간의 문제가 있는 듯 하다. 다음과 같은 경고 창을 발생하며, "예"를 선택하고

이미지를 임의로 선택하여 주어도

intelhaxm을 설치하기 위해서 권한을 요청하는 루팅이 포함되어 있는 것 같지 않아 다음과 같은 실패화면을 보여주게 된다.

따라서, 1.0b를 설치하신다면 터미널에서 "inst-manager.bin"을 실행하여 설치하실 것을 권한다. 설치 관리자 초기 화면에서 "Next" 버튼을 클릭하면 다음과 같이 SDK 설치 위치를 선택할 수 있다. 

위치를 설정하고 "Next" 버튼을 누르시면 정상적으로 설치가 되는 것을 보실 수 있으며

금방, 설치가 완료된다.






Posted by 모바일헌터