Jul 28

Free memory와 함께 battery level에 관련된 app은 이슈 [1]가 많았습니다. IOKit library를 이용하는 경우 [2] (운 좋으면 피할 수 있겠으나) 애플에서 “undocumented 된 api의 사용” 이라는 이름 하에 reject을 했었습니다.

오늘 Mobile Orchard에서 3.0 new feature에 대한 튜토리얼에서도 UIDevice에서 3.0에서 추가된 batteryLevel property를 이용해서 Battery level과 Battery State를 모니터링 (aproximity monitoring)하는 것을 다루고 있듯이 [3] , iPhone 3.0에서는 Battery Level을 구하는 것이 문서화/공식화 되었습니다. 그래서 요즘 Battery 앱들이 많이 생겼구요 (예전엔 Free Memory App 정도였죠). Run Loop [4]에 있는 NSNotificationCenter [5] 까지 사용해서 거창하게 추가를 하긴 했죠.

하지만 (저도 앱을 만들어 테스트해봤지만) 모니터링 단위가 5%입니다. 그래서 충전 중이 아닌 상태에서도 오랫동안 100%로 표시됩니다.

2.X 대의 방식대로 iPhone의 IOKit library를 가져와서 [6] 간단히 앱을 만들어 테스트해보면 1% 단위로 정확하게 모니터링 할 수 있던데 왜 이것을 문서화/공식화 하지 않는지 모르겠습니다.

Ref

[1] Battery Percentage (MacRumors)

[2] Reading the battery level programmatically

[3] New In iPhone 3.0 Tutorial Series, Part 5: Battery Monitoring

[4] Run Loop Management

[5] NSNotificationCenter Class Reference

[6] [iPhone] 메모리 관리 Video 튜토리얼 – Memory Management Basics Tutorial Video

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • uc815uc758uc758uc18c

    IOKit libraryub97c uc0acuc6a9ud558uba74 Side effectuc774 uc788ub294 uac74 uc544ub2d0uae4cuc694? libraryuac04 dependancyub97c uc815ub9acud55c uc790ub8ccub294 uc5c6ub098uc694? ^^;

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • http://alones.kr Gidae Yeo

    ubb38uc11cud654/uacf5uc2ddud654 ub41c classub4e4 uac04uc774uc57c uc0c1uc18d uad00uacc4uac00 uc815ub9acub418uc5b4 uc788ub294ub370, ub0b4ubd80ub294 ube44 uacf5uac1cuc774ub2c8 u314bu314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • uc815uc758uc758uc18c

    Static Analysis tool uc9c0uc6d0ud558ub294uac70 ucc3euc544ubcf4uace0 ud568 ub3ccub824 ubcfcuae4c? u314bu314b

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • http://alones.kr Gidae Yeo

    u314eu314e uc88buad70uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • Anonymous

    uadfcub370, uc544uc774ud3f0uc774 ub4e4uc5b4uc624uae34 ub4e4uc5b4uc624ub294 uac74uac00uc694 ? uc0bcuc211uac19uc740ub370uc5d0uc11c ub534uc9c0uac78uc9c0uc880 ud558ub294 uac83 uac19ub358ub370uc694.

  • http://twitter.com/kwwoo 정의의소

    IOKit library를 사용하면 Side effect이 있는 건 아닐까요? library간 dependancy를 정리한 자료는 없나요? ^^;

  • alones

    문서화/공식화 된 class들 간이야 상속 관계가 정리되어 있는데, 내부는 비 공개이니 ㅋㅋㅋ

  • http://twitter.com/kwwoo 정의의소

    Static Analysis tool 지원하는거 찾아보고 함 돌려 볼까? ㅋㅋ

  • alones

    ㅎㅎ 좋군요.

  • yundream

    근데, 아이폰이 들어오긴 들어오는 건가요 ? 삼숑같은데에서 딴지걸지곰 하는 것 같던데요.

blog comments powered by Disqus
preload preload preload