삼성 갤럭시에서 특수문자에 css 효과가 안먹는 증상

다음과 같이 리뷰 rating 기능을 개발 중

가급적 이미지는 사용하지 않기 위해 특수문자를 사용했습니다.

그랬더니 유독 Android kitkat 4.4을 OS로 사용하는 삼성의 갤럭시 기기들만 다음과 같이 보입니다.

sQybc

이곳에는 어떤 CSS 효과도 적용되지 않았습니다.

결국 전 이미지를 사용하긴 했지만 여기저기 찾아보니 아래와 같이

[box type=”info”] /system/fonts/NotoColorEmoji.ttf[/box]

삼성의 기본 이모지 폰트를 안드로이드 기본 emoji 폰트로 대체하고 해결되었다 합니다.

자세한 내용은 이곳을 보시면 확인이 가능합니다.

http://forum.xda-developers.com/showthread.php?t=2618523

 

다른 대안으로 fontawesome이나 추가적으로 iconmoon과 같은 대체 폰트를 이용해서 해결 하는 방법도 있으니 참고하시면 됩니다.

 

HTML:

 

CSS:

iOS8 + iPhone6에서 푸시 안되는 증상

remotePush 등록하는 부분에 다음과 같이 iOS8 대응 코드 추가

appDelegate.m내 다음 딜리게이트 처리

APNS 따라하기 시리즈 (iOS 구성하기)

앱단 개발 개요

앱에서 해줘야 할 일은 앱을 실행한 디바이스의 정보를 3rt Party 서버와 통신해 DeviceToken과 UUID 그리고 사용자 정보를 던져주면 됩니다.
해당기기로 접근할 수 있는 키(열쇠)라고 생각하시면 되며, 이외의 모든 일은 iOS와 APNS서버가 알아서 해줍니다.

 

아이폰/아이패드 개발 코드

코드 작성은 크게 4가지 메서드에서 처리하게 됩니다.

  1. 원격 알림서비스를 iOS에 등록해야 합니다. 등록 성공/실패시 2,3번을 각각 실행합니다.
  2. 앱을 실행시 사용자가 알림서비스를 승인하면 서버로 디바이스 토큰을 보내야 합니다.
  3. 앱을 실행시 알림서비스 등록에 실패하는 경우 로직을 구현합니다.
  4. 메시지를 수신했을 때 처리하는 로직을 구현합니다.

이렇게 구현하면 기본적인 구현 절차는 끝나게 됩니다.
앱에 따라서 처리하는 방식이 달라지는 부분은 주로 2번과 4번이 될 것입니다.
예를 들면 메시지 보낼때 참고할 다른 정보를 보내거나, 메시지를 수신하면 앱내의 특정 부분으로 이동해서 해당 내용을 보여주려고 하실텐데 그런 부분들이라고 생각하시면 됩니다.

그럼 작성해야 할 개발코드를 알아보도록 하겠습니다.
위에서도 언급했다시피 EasyAPNS를 이용해 구현하는 것이니 참고하시기 바랍니다.

우선 (BOOL)application:didFinishLaunchingWithOptions: 메서드에서 원격 푸시 서비스를 하겠다고 등록을 해야 합니다.
이것을 작성함으로써 처음 앱 실행시 푸시알림 메시지를 받겠냐고 물어보는 Alert창이 나타나게 되며, 이 절차를 통해 iOS에게 이 앱이 원격 푸시 서비스를 등록하겠다고 알리는 것입니다. 이렇게만 해주시면 APNS서버에서 메시지를 수신하는 처리는 iOS가 알아서 처리해 앱으로 통보해줍니다.

 

사용자가 푸시를 받겠다고 승인하면 (void)application:didRegisterForRemoteNotificationsWithDeviceToken: 메서드가 실행됩니다.
이때, 우리는 일전에 만들었던 서버단으로 UUID와 deviceToken을 보내 정보를 보관하고 있어야 합니다.
deviceToken은 어떤 앱인지와 어떤 디바이스인지의 조합으로 구성되어진 64개의 바이트 조합입니다.
여기서 UUID와 Token은 사용자의 동의를 얻은 후 외부로 보내져야만 하며 이를 어길시 리젝사유가 될 수 있음을 참고하시기 바랍니다.
deviceToken정보는 EasyAPNS로 구현되어진 서버단의 특정 URL로  정보를 담아 전송해주기만 하면 EasyAPNS가 Device정보를 데이터베이스에 저장해줄 것 입니다.

aps_binary_provider_2

Notification Format

여기서 DeviceToken만 저장해서 보내주면 되지~ 왜? 오만 잡다한 정보도 저장해야하는지 궁금하지 않으세요?
이는 해당 디바이스에서 어떤 설정을 갖고 있는지 알 수 있는 방법이 없어서 입니다. 현재 앱을 설치한 사용자가 배지설정을 켰는지 껐는지 사운드는 켰는지 껐는지를 보내는 쪽에서도 체크를 해야 합니다. 물론 애플에서 해당 디바이스의 정보를 가져올 수 있는 피드백이라는 기능을 제공하고 있긴 하지만 번거로운 작업인 것은 분명합니다. 만약 정보체크를 소홀히 하신다면 해당 사용자가 알림센터 기능을 끄더라도 메시지는 날아갑니다. 이점 반드시 참고하여주시고, 또하나 메서드를 살펴보면 NSData로 DeviceToken값을 넘겨주는데 이는 퍼포먼스때문에 컴퓨터가 좋아하는 바이너리 포맷으로 전달됩니다. 위의 그림에 다 나와있는 내용이니 참고하세요!
자 그럼, 아래와 같이 작성해서 처리를 완료해주시면 됩니다.

 

아래는 등록하다가 실패하는 경우 사용되는 딜리게이트입니다.
간혹 APNS등록해서 잘 사용하다가 Provisioning, Certification, AppID의 내용을 하나라도 수정하시는 경우 에러가 나타날 수 있습니다.
혹 안되실때 이런부분을 찾아보시기 바랍니다.

 

이제 여러분들이 가장 많이 손봐야할 딜리게이트 코드 입니다. 이곳으로 NSDictionary 형태로 메시지정보가 던져지게 됩니다.
그걸 받아서 원하는데로 처리하시면 되겠습니다.
아래는 기본적인 형태로 앱이 실행되지 않을때 경고창을 띄워 알려주는 역할하도록 따로 작성하고 그게 아닌 경우 로그만 찍히게 해봤습니다.
추후 저는 URL을 받아서 해당 URL로 강제이동되게 할 예정입니다.

 

자! 지금까지 iOS의 Application Delegate상에 코드 작성하는 것을 보셨는데요~!

여기서는 EasyAPNS를 사용해 프로바이더(서버)를 구성할 계획이므로 이와 같이 참고하시면 되겠습니다.
서버로 던져주는 인자값들은 EasyAPNS에서 정해진 그대로를 사용한 것입니다.
참고적으로 꼭 정해진 인자값만 보내실 필요는 절대 없다는 점 알아두시기 바라며, 가장 중요한 것은 deviceToken값만 있으면 전송에는 문제가 없습니다.

하지만 하이브리드로 작업하시는 경우 Device의 Unique한 값을 찾느라 고민하실 수 있습니다.
이는 키체인을 이용해서 DEVICE UID를 저장해서 쓰시기 바랍니다.
앱을 삭제했다 다시 설치해도 해당 UID값을 계속해서 쓸 수 있습니다.

참고로 안드로이드는 시리얼을 이용하시면 되겠습니다.

다음은 EasyAPNS을 이용해 프로바이더를 구성하는 법을 소개해드리겠습니다.

 

 Generate Hills of glory Ammo

 

APNS관련 포스팅 보기

espn’s chris mortensen taking a leave to treat throat cancerTamiflu can help the symptoms, but NOTHING cures the flu. Washing your hands, covering your coughs/sneezes, and staying home if you feel ill helps prevent the spread. NFL director of Social Responsibility Anna Isaacson explains “we get it; we understand how difficult it is to report. That issue is not unique to the NFL.”. Don Van Natta of ESPN chronicled it well. And like I said, the some of the a drop off of ratings overall, which can be seen in ESPN’s stock, has got to be because of the guys who are just banging out their daily fantasy.. cheap oakley sunglasses In Epic Battle Fantasy, you Cheap Jerseys from china control a samurai warrior and a sorceress cheap oakleys sunglasses as they battle through wave after wave of enemies. Fans of Japanese role playing games will recognize the battle system as inspired by the systems used in popular games like Final Fantasy. Cucumbers, apples and celery. Now those are your alkalines so that you don’t go too acidic because you are not getting a whole lot of carbs from other sources. His talk waslow on pep, but high on practicality a review of how to get medical forms and parental permissions, areminder to keep grades up and schedules open for pre season practice. He concluded by asking if anyonehad questions.. Instead, with careful research, they discovered that hurling molten iron (at around 2,300 degrees Fahrenheit, to be precise) against a cold wall in autumn looks kind of neat. cheap oakleys So now, every year for the last 300 years they just go ahead and do that a bunch.. Though not a fantastic player, Ed hockey jerseys Dundon still holds the title ray bans sale of first deaf professional baseball player. He spent two years with the Columbus Buckeyes of the American Association which at the time was considered a Major League. But he mentions one civil case from 1973, when a pro football player successfully sued another for a hit away from the ball. The case got to a federal appellate court, which “held that a football player can be made responsible for injuring an opponent if he acts with “reckless disregard for the opponent’s safety.”. cheap jerseys S2) derived from the same PFL clone. We then performed in vitro ‘switch OFF’ experiments by treating PNFL and PFL cells with doxycycline (at a concentration of 1gml1) for a limited time interval (). The company ‘s fourteen year research history simply cannot be replicated by competitors, nor ignored forever by Wall Street. It has a ‘product’ that is producible in commercial quantities, and now, finally, a slow but steady advance toward legal approval of its various treatments..

하나의 주소로 아이폰/안드로이드 앱 다운로드 하기

앱을 만들어서 배포했는데, 간혹 마케팅을 위해 다운로드 URL이 필요할 때가 있습니다.
특히 안드로이드와 아이폰앱 둘 다 배포해서 서비스 하는 경우는 더욱 더 하나의 URL이 효과적이죠!
그래서, 만들어봤습니다. 원리는 간단합니다.

저희 서버에 download.php라는 파일을 작성해서 링크를 걸고 해당 파일을 호출하면,
기기에 따라 알아서 플레이스토어든 앱스토어로 자동 이동됩니다.

mskv9n1eb9647ii

저의 경우 ShortURL을 활용해서 해당 주소를 http://is.gd/godoapp 과 같은 주소로 줄여서 사용하고 있습니다.
덕분에 해당 주소를 클릭하는 횟수 정보도 해당 ShortURL 서비스 사이트를 통해서 확인할 수 있습니다.

자신의 스마트폰 브라우저에서 http://is.gd/godoapp 이 링크를 쳐서 확인해보세요!
바로 앱스토어로 이동합니다.

 

<모바일 검색용 라이브러리>

 

<실 다운로드 링크 파일>pantai indrayanti

 

 

Because one SD/DR sample could not be processed, there were only three samples in that group. Of 1323 genes analyzed, the number of genes identified as present in LC and DR were 326 and 341, respectively. (c) Representative images of P60 WT neurons transduced with AAV2 2 encoding eGFP under the CBA promoter. Arrows indicate eGFP neurons expressing Ctip2 and not SATB2. For date. She a former director of AOL Parenting, a member of SCBWI, and a graduate from the University of California,Berkeley.. As we’re talking about the possibility of this going cheap oakleys sunglasses to trial with Peterson, could take months, maybe a year. It could boil down to the personal experiences of those on the jury? It’s a fuzzy legal standard as to what crosses the line between acceptable corporal punishment. June 5, 2014 In Game 1 of the Finals in San Antonio between the Spurs and the Miami Heat, an electrical failure in the arena causes the air conditioning to fail, and the indoor temperature reaches above 90 degrees. The Spurs go on to wholesale football jerseys beat the Heat, four games to one.. Points of calcium can be achieved hockey jerseys in many different ways, including catching cheap nfl jerseys a pass over the goal line, carrying the ball over the goal line, NBA Jerseys Cheap the control of a football player in its area of an end in itself, or a kicker the football through the goal posts on the opposite side. The football team with the highest score when the game is over, is the team that wins the game. Written by philosophy professor John Norman the Chronicles of Gor are about a planet where humans live in submission to a group of alien priests who kidnapped them from Earth. Despite boasting the sort of view on the universe that would get you banned from most creative writing classes, thousands of people have taken Norman’s work seriously enough to create their own Gorean society.. CVS is one of the strongest of those companies with assets totaling $19 billion as of June 2011 compared to Walgreens Company (WAG) with total assets of $13 billion as of May 2011 and RiteAid Corp (NYSE:RAD) with $4.4 billion in asset as cheap oakleys sunglasses of May ray ban sunglasses 2011. It also boasts of the largest revenues among the US pharmacies with $26 billion compared to $6.39 billion from Rite Aid and $18 billion from Walgreens for the same period.. Studies have shown that ex NFL players are less prone to depression than people in the population at large. They’re also less likely to commit suicide 59 percent less likely, to be precise. For office dwellers whose workspace isn’t patrolled by a vicious tackling machine, there are likely still a number of less menacing dangers lurking in your office space. Department of Labor’s Occupational Safety and Health Administration (OSHA).

iOS8 UITableView의 EdgeInset이 안먹는 경우

iOS7에서는 separatorInset을 UIEdgeInsetsZero로 주면 테이블뷰의 separator 라인의 마진이 없어졌었다.

하지만 iOS8에서는 separatorInset이 아닌 layoutMargin으로 바뀌었다.

테이블뷰에서 직접설정하면 되지만 커스텀 셀을 사용하는 경우 cell에 layoutMargin처리를 해야 제대로 동작한다.

 

하지만, 커스텀 셀이 많은 경우 테이블뷰의 willDisplayCell 딜리게이트를 이용해 다음과 같이 처리하면 보다 적은양의 코드로 처리가 가능하다.

 

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

    if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {

        [tableView setSeparatorInset:UIEdgeInsetsZero];

    }

    

    if ([tableView respondsToSelector:@selector(setLayoutMargins:)]) {

        [tableView setLayoutMargins:UIEdgeInsetsZero];

    }

    

    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {

        [cell setLayoutMargins:UIEdgeInsetsZero];

    }

}

 

 

 

Facebook is one place where you can be whoever you wish to be. There are no restrictions (except the fact that you don’t harass, badmouth someone else or use profanity). The power that can really be projected here that Cheap Oakleys could change this thing would be it wouldn’t take a million fans. It wouldn’t take 10 million fans. I just can fathom what cheap oakleys made you decide to do an interlocking design. By nature, pearler beads don really support interlocking. 27 includes a video of Stevie Wonder, Luther Vandross, Whitney Houston and Dionne Warwick singing the song “That’s wholesale nfl jerseys what friends are for.”In the post, Salaam noted he was “feeling joyful” and told people to “keep smiling.”Followers since have posted condolences underneath it.News of his death shook the CU community Tuesday as many remembered Salaam’s slicing runs in 1994 on a team that might be one of the greatest not to win a national championship. It included standout quarterback Kordell Stewart and star receiver Michael Westbrook, who combined for a legendary Hail Mary pass that season to beat Michigan as time expired. This practice oakley outlet is acceptable under the FLSA, provided certain conditions are met. New Jersey employers are allowed to use the fluctuating workweek method.. A poker table is a table specially designed for playing cards usually poker. It is covered with a soft material or a smooth fabric that allows cards to glide smoothly. He was a very physical player, but he was someone who had to use every ounce of strength he had and had to use his body in ways that other players simply don’t. And I really think he could’ve had a long career in the NFL if he’d been able to stay healthy and wanted to play in the NFL. Even if the latest drama in the Solo saga spills onto the field, Australia won’t have much of an upper hand. The Americans have played the Aussies 24 times and never lost (beating them 22 times and tying twice). “Schools quite often move around or spend money to basically get rid of excess revenue what would be called profit in a profit making corporation,” said Michael Leeds, a professor of economics at Temple University. “‘[That’s cheap nfl jerseys why] you have several coaches [in the NCAA] getting paid NFL money, despite working for an enterprise that really ray bans sale does not match what the New England Patriots and the New York Giants take in.”. Mr. DANNY ROBERSON (Defensive Tackle, Nashville Storm): It’s just a love of the game. The invention of the telephone is one of those storybook legends everyone learns as a schoolkid. You know how it goes Alexander Graham Bell is tinkering with his newfangled magic discount football jerseys talking machine and says the legendary first words ever spoken into a phone: “Mr.

앱 통계를 내 사이트에서 수집하기

스크린샷 2014-02-09 오후 11.35.26

 

프롤로그

모바일 앱을 보유하고 있다면 누구나 한번쯤 다운로드 혹은 리뷰 데이터를 한곳에 수집해서 보고 싶어했으리라 생각합니다.

2년전 회사에서 이런 요구가 있었고 이를 사내 사이트에 구현했던 일이 어렴풋이 기억납니다.
그때는 API가 따로 없어서 rss피드와 국가코드, 카테고리 정보등을 별도로 수집해서 사용했었는데요!
이제는 그렇게 하지 않아도 됩니다.

앱애니(AppAnnie)라고 하는 사이트에서 올 초부터 API를 지원하기 시작했기 때문입니다.
전 이것만 기다리고 있었는데, 마침 나와줘서 다운로드 통계 수집을 자동화시킬 수 있었습니다.

앱애니의 통계는 초기 아이폰만 수집해줬었는데요, 간만에 들어가보니 안드로이드는 물론 아마존의 다운로드 통계를 제공해주더군요!
앱애니에서 제공해주는 API는 생각보다 효율적이고 대단히 고마운 API라고 생각합니다.

다만,제약조건이 일일 1,000회, 분당 30회로 제약이 되어있긴 하지만, 앱 10개정도 보유하고 있다면 이정도로 충분합니다.
그럼 어떤 종류의 API를 제공하는지 알아보겠습니다.

 

지원하는 API의 종류

  1. Account Connection Sales
  2. App Sales
  3. App Ranks
  4. App Reviews
  5. App Ratings
  6. App Features
  7. App Details
  8. Platform List
  9. Country List
  10. Category List
  11. Currency
  12. Account Connections List
  13. Account Connection App List
  14. App IAP List
  15. Shared Apps List

이렇게 총 15가지를 지원하고 있습니다.
왠만한 필요한 정보들은 다 가져올 수 있습니다.
다음은 API를 신청하기 위한 절차에 대해 간략하게 나열해보겠습니다.

 

API신청 절차

  1. appannie.com 에서 회원가입을 한 후 로그인한다.
  2. 애플, 구글, 아마존 접속 계정으로 로그인해 통계 데이터 수집에 동의한다.
  3. 위의 단계로 appannie에서 자동으로 앱 데이터를 수집합니다.
  4. 그럼 https://www.appannie.com/account/api/key/ 여기서 API키를 발급받습니다.
  5. http://support.appannie.com/categories/20082753-Analytics-API 문서를 보고 개발을 합니다.

귀찮게 Oauth와 같은 인증방식을 요구하지는 않습니다.
다만 header에 Autherization에 API 키만 넣어서 쏴주면 원하는 결과값을 가져옵니다.
요청에 따라 xml과 json으로 선택적으로 받아올 수 있습니다.

 

이용예시

스크린샷 2014-02-09 오후 11.57.52

위 테이블은 API를 이용해 구축해놓은 예시입니다.
물론 테이블의 상단에는 앱별로 선택해서 현재 판매중인 모든 앱에 대해 정보를 조회할 수 있습니다.

여러분도 한번 만들어보세요! ^^

 

 

6 intimate details you can tell cheap oakleys justAnd in cheap nfl jerseys tests of cognitive performance, roughly half of the former players showed significant problems of executive function a global measure of a person’s ability to maintain attention, plan and organize. Specifically, 45% had measurable problems with learning and memory, 42% had problems with attention and concentration, and 24% had problems with spatial and perceptual function.. Anyone who opposed them was cheap oakley sunglasses either imprisoned or executed. In the end, about 3,000 biologists lost their jobs and/or life because they dared suggest that a dog couldn’t give birth to a cat if it just wanted it bad enough.. Evidence: As anyone whose seen those old Hitler speeches will tell you, Germans look pretty angry when they speak, and as this video proves, they even look angry when speaking French. We’re guessing Germany is a pretty stressful place to grow up, which might explain why they wear all black and listen to terrifying techno music. Mickey Collins, examined Billy and performed a computerized test called an IMPACT Test. It measures things such as reaction time, memory and the ability to scan visually.. Why? Well, as you probably know, companies pay tens of millions of dollars to air their ads during the Super Bowl. The idea is not to devaluate the event by slapping the words “Super Bowl” everywhere, even by people who are ultimately helping to promote the freaking game, like, say, ray ban outlet a local bar that wants to advertise that it’s offering $0.99 chili dogs on game day. Meyer’s responses to questions about the recently announced Fox News and cheap jerseys from china Major League Baseball deals left that open to debate. He stated:. But Windsor Mayor Francis and officials on the Detroit side of the border are working to assure that the Super Bowl will yet be another successful example of the unique international relationship between local communities in Canada and the United States. For NPR News, I’m Jerome Vaughn in Detroit.. The 1985 Chicago Bears team finished a dream season by winning the Super Bowl, 46 10, over the New England Patriots. But unlike recent championship teams, the Bears didn’t make it to the White cheap football jerseys House their trip was pre empted by the Challenger cheap jerseys from china shuttle disaster, which occurred on Jan. By now, we’ve all seen Lady Liberty’s face from a hundred different angles in movies and on postcards and patriotic underwear. Building, no one would give a shit.. We generally do not publish.Please fill in your full name, mailing address, city of residence, phone number and e mail address below. Submissions that do not include this information cannot be published.

APNS 따라하기 시리즈 (프로바이더 구성하기)

프로바이더에서의 개발 개요

두번째 시리즈인 프로바이더에서 개발 방법에 대해서 알아보겠습니다.
이미 인증서 만들기에서 제작한 apns.pem 인증서 파일을 FTP 프로그램을 이용해 임의의 경로로 업로드 합니다.
보통 웹루트내에 파일을 올리면 주소나 파일명만 알면 바로 다운로드 받아갈 수 있기때문에 가급적 웹루트가 아닌 곳에 올려주시기 바랍니다.

이 인증서로 APNS 서버와의 통신을 통해 인증을 받고 인증을 받은 상태에서 Payload에 애플이 요구하는 텍스트를 채워 json데이터를 APNS서버로 전송해주기만 하면 됩니다. 이런 부분을 손쉽게 접근할 수 있도록 도와주는 친구들을 아래에서 몇 명 소개시켜드리겠습니다.

그래도 어떤 원리인지는 간단하게 알고 넘어가야겠죠?

 

Payload 작성 양식

다음의 애플문서를 보면 아주아주 자세하게 나와있습니다. 영어가 되시는 분은 애플에서 제공하는 원문을 보시는게 더 좋을 것 같네요!
기본적으로 Payload는 JSON 형식으로 전달되며 형식은 다음과 같습니다.

여기서 aps 키값은 Dictionary 형태로 만들어지며 각각의 키들은 다음과 같은 역할을 합니다.

  • alert : 스트링 혹은 딕셔너리 형태로 값이 들어갈 수 있으며 스트링으로 할 경우 보내고자하는 메시지를 적어 넣어주시면 됩니다.
    • body : 전달할 내용을 입력합니다.
    • action-loc-key : LocalizedString의 키값을 참조해 AlertView의 View Detail이라는 버튼을 언어에 맞게 변경시켜줍니다.
    • loc-key : LocalizedString의 키값을 참조해 내용을 채워줍니다.
  • badge : 배지의 숫자를 입력합니다.
  • acme1 or acme2 : 커스터마이징 변수값으로 임의의 문자열로 키와 값을 만들어 스트링 혹은 배열의 형태로 전달 할 수 있습니다.

PHP 테스트 코드:

아래는 EasyAPNS가 아닌 막코딩으로 전송테스트를 해보았습니다.
상단에 deviceToken정보만 제대로 입력해주면 해당 디바이스로 메시지가 잘 전송되는 것을 확인했습니다.

 

개발에 사용할 오픈소스

위와 같이 Github 및 검색을 해보시면 아시겠지만 다양한 개발자들이 만들어 놓은 오픈소스가 많이 있습니다.
가장 최근에 등록된 PHP_APN의 경우 API를 기능별로 세분화시켜놓아 관리기능을 별도로 제작할때 좋지 않을까 싶습니다.
하지만 저는 PHP로 개발코자 EasyAPNS를 이용해서 개발을 시작하다가 일이 커져 지금은

별도로 개발해 안드로이드까지 통합발송이 되도록 만들어 사용하고 있습니다.
GCM(Google Cloud Message)에 대한 정보는 다음에 시간날때 게재하도록 하겠습니다.

 

관련 참고 자료:

Why was my device token rejected by Apple?

Local and Push Notification Programming Guide

How to build an Apple Push Notification provider server (tutorial)

 

“He’s told me that the words that come out of leaders are important and we’ve got to always believe we can do better,” Rawlings said. “But it’s got to start with our self esteem as a police force and understand 99 percent of what they do is what we want and that we’re proud of them. Contact is generally held up as one of the most pro science movies ever made, given that it was adapted from a novel written Cheap NFL Jerseys by Carl Sagan who was essentially the Mr. Rogers of the pop science world, since it’s physically impossible to dislike him. One way to improve your video quality is streaming during off peak hours (like early in the morning, late at night, etc.), according to a Digital Trends report. During the study, they found video quality and Baratas Replicas Ray Ban speed improved significantly during hours when less people were logged onto the site binging. Although NFIB doesn’t disclose where it gets its money, some of its funders have to list their donations in public documents. The new website and other research shows that a big chunk of its budget came from the Donors Trust, a secretive conservative group that also funnels money to groups like the Koch Brothers’ Americans for Prosperity Foundation, and from Karl Rove founded Crossroads GPS.. The Cubs kept coming. Not since 1908 has this franchise won a World Series. I will continue to work hard for this team, and I have tremendous confidence in my teammates and in my ability to move on and contribute to the team. Giants kicker also had the backing of owner John Mara, who defended Brown in August.. Palin enlisted in the Army on the replica oakleys sixth anniversary of the Sept. 11, 2001 terrorist attacks and spent a custom jerseys year deployed in Iraq. Subscribe to USA TODAYAlready a print edition subscriber, but don’t have a login?Activate your digital access.Manage your account settings.My AccountLog OutIn honor of Super Bowl 50, here are 50 things we learned in Week 4:1. Atlanta Falcons running back Devonta Freeman became the first RB wholesale nfl jerseys since LaDainian Tomlinson in 2006 to score three TD in consecutive games. No one enjoys betting the under even if Vegas sharps tell you it the smart bet. Well, this game is for everyone who loves points and overs. This union being an organic, living thing capable of growth and development was, later, modified louis vuitton wallets and confirmed by two other treaties, which guaranteed to all the parties in a just and eternal union all their rights, liberties, and respective institutions. The Polish State offers a singular instance of an extremely liberal administrative federalism which, in its Parliamentary life as well as oakley outlet sunglasses its international politics, presented cheap nfl jerseys a complete unity of feeling Baratas Replicas Ray Ban and purpose.

APNS 따라하기 시리즈 (인증서 만들기)

APNS 포스팅 개요

1년만에 다시 푸쉬서비스를 만들려고 하니 기억도 안나고 검색해서 찾아보니 너무 옛날 데이터들이라 헷갈리기도 해서 “이참에 좀 자세하게 기록해놓자!!” 하는 마음에 포스팅을 했습니다. 총 3단계로 나누어 인증서 설치, 서버단에서 푸시 보내기, 앱단에서 푸시 처리하기로 해서 포스팅을 시작하고자 합니다.
APNS란 용어는 애플 개발자 레퍼런스에도 너무 자세하게 나와있고 검색해도 수도 없이 나오기때문에 생략하고 철저하게 개발 적용에만 촛점을 맞추도록 하겠습니다.

 

APNS 인증서 발급 조건

  • 발급일 2013년 7월경
  • Mac OS  X 버전 10.8.4 (산사자)
  • Xcode 버전 4.6.3
  • iOS7이 베타3까지 출시

 

APNS 인증서 발급을 위한 개인 인증서 만들기

우선 애플(Apple) 사이트에서 Notification 인증서를 만들기 위해서는 아래와 같이 키체인을 이용해
CertificateSigningRequest.certSigningRequest 라는 인증서를 만들어야 합니다.

이 인증서는 Notification 인증서를 발급받을 때 반드시 필요하니 우선 따라서 만들어 봅시다.
키체인(Keychain)을 실행한 후 다음과 같이 따라 해보세요!

APNS 설치 인증서 만들기 1
키체인을 실행한 후 키체인접근> 인증서지원 > 인증 기관에서 인증서 요청을 누릅니다.

 

APNS 설치 인증서 만들기 3
디스크저장됨을 선택하고 본인이 키 쌍 정보 저장을 체크하세요! 특히 이메일은 개발하는 애플 개발자 아이디를 넣어주시기 바랍니다.
APNS 설치 인증서 만들기 4
그림과 같이 설정하시고 다음으로 넘어가세요!
APNS 설치 인증서 만들기 5
인증서 서명을 하기 위한 요청 파일이 완성되었습니다.

이렇게 작업을 완료하시고 Finder에서 보기를 눌러 보시면 다음과 같은 파일이 만들어집니다.

CertificateSigningRequest.certSigningRequest

 

 

APNS 인증서 발급받기

[box type=”warning”] 반드시 애플 개발자 계정을 가지고 계셔야 접근하실 수 있습니다. 일반 애플 계정과는 다르니 안되시는 분은 개발자 등록부터 해주시기 바랍니다.[/box]

이제 개인 인증서를 만들었으니 애플 개발자 사이트로 이동합니다.
개발자 사이트에 접속하시면 상단에 Member Center라는 곳이 있습니다.
접속하시면 바로 아래의 이미지와 같은 화면을 보실 수 있습니다. 그림을 보시면서 순서대로 따라하시면 금방 APNS용 인증서를 발급받을 수 있습니다.
그럼, 멤버센터에서 Certificates, Identifiers & Profiles > Identifiers > APP ID’s 메뉴로 이동하세요!

 

Member Center - Apple Developer_1
멤버센터 메인 화면에서 빨간 박스의 Certificates, Identifiers & Profiles를 클릭하세요!
Member-Center---Apple-Developer_2
APP IDs 메뉴를 눌러 들어온 화면입니다. 자신이 만들어놓은 앱아이디를 한눈에 보실 수 있습니다. 그럼, 노티를 원하는 앱아이디를 선택하세요!
Member-Center---Apple-Developer_3
선택하시면 해당 앱에서 무슨 서비스가 연동되고 사용되는지 한눈에 보실 수 있습니다. 그중 Push Notification 서비스가 Enable 되어있는지 확인하고 Disable 되어있으면 하단의 Edit 버튼을 누릅니다.
Member-Center---Apple-Developer_4
저는 이미 만들어 놓아 인증서 내역이 보이지만 몇개고 만들 수 있습니다. 개발용과 배포용으로 만들 수 있으며 우선 개발용으로 해보겠습니다. 자 그럼, Create Certificate를 눌러주세요!
Member-Center---Apple-Developer_5
이과정은 아까 맥에서 만들었던 인증서를 만드는 방법에 대해서 안내해주는 화면입니다. 우린 이미 만들었으니 다음 단계로 넘어가시죠!
Member-Center---Apple-Developer_6
아까 만들었던 인증서를 업로드해야 합니다. Choose File을 눌러 CertificateSigningRequest.certSigningRequest 파일을 연결해주세요!
Member-Center---Apple-Developer_7
자! 그럼 Generate를 눌러 APNS 인증서를 발급받아보세요!
Member-Center---Apple-Developer_9
드디어 인증서가 만들어졌습니다. 다운로드를 눌러주세요!
Member-Center---Apple-Developer_10
인증서가 이제 다운되었습니다. 다음은 인증서를 클릭해 실행해주세요! 그럼 키체인에 인증서가 추가됩니다.

 

이렇게 해서 인증서 발급을 과정을 마쳤습니다. 생각보다 어렵지 않습니다.
자 그럼, 이제부터가 중요한데요! 서버에 직접 설치할 인증서를 만들어 보겠습니다.

 

APNS 서버인증서 만들기

서버인증서를 만드는 작업을 하기전에 우선 키체인을 열어 방금 설치한 Apple Development(or Production) iOS Push Services: kr.co.godo.godo 인증서를 찾아서 Export(내보내기)를 해서 .p12 파일로 만들어줘야 합니다.
다음의 그림을 보면서 따라하시면 되겠습니다. 그림과 같이 인증서 옆에 화살표 아이콘이 있고 그걸 누르면 개인키가 나타나오니 참고하시면서 작업하시기 바랍니다.

Keychain에서 서버인증서 만들기 1
저는 개발과 출시용 Push Service 인증서를 둘다 설치해서 2개가 나타나며 원하는 것을 선택해서 만들어주시면 됩니다.
Keychain에서 서버인증서 만들기 2
우선 그림과 같이 마우스 오른쪽을 눌러 보내기 메뉴를 눌러주세요!
Keychain에서 서버인증서 만들기 3
그럼 이러한 창이 뜰 것이고 별도저장(Save as)에 cert라고 넣어주세요!
Keychain에서 서버인증서 만들기 3-1
저장을 누르면 패스워드를 넣으라는 창이 나타납니다. 이곳에 원하는 패스워드를 넣고 승인을 눌러주세요!
Keychain에서 서버인증서 만들기 4
다음은 개인키입니다. 그림과 같이 열쇠모양의 개인키를 선택해 오른쪽 마우스 눌러 보내기를 클릭합니다.
Keychain에서 서버인증서 만들기 5
별도저장(Save as)에 key라고 입력하고 저장을 눌러줍니다.
Keychain에서 서버인증서 만들기 3-1
외우기 쉽도록 cert에서 만든 패스워드를 동일하게 넣어주세요!

 

이작업을 하시면 바탕화면(여러분이 지정한 경로)에 cert.p12와 key.p12 파일들이 만들어집니다.
이제부터 중요합니다. 인증서 형식을 변환하기 위한 작업으로 Terminal에서 작업을 할 것 입니다.
딱 4가지 명령만 실행하시면 됩니다.  ———- 이걸로 표시된 부분은 결과값을 보여주려고 나타낸 것이니 터미널에서는 입력하지 말아주세요!

다음과 같이 입력하고 엔터를 치면 비밀번호를 물어봅니다.
이 비밀번호는 아까 cert.p12 만들때 작성하신 패스워드를 넣어주시면 됩니다.
이렇게 하고 나면 해당 경로에 cert.pem 이라는 파일이 생깁니다.

 

위 코드는 key.p12를 key.pem으로 만들어주는 작업입니다.
바로 윗부분에 cert.pem 만드는 작업과 동일하지만 마지막에 패스워드를 생성하는 작업을 해주셔야 합니다.

 

위에서 만들어진 key.pem을 가지고 key.unencrypted.pem을 만드는 코드입니다.
하단의 출력결과에도 써있다 시피 윗단계에서 새로 생성한 패스워드를 입력하시면 됩니다.
이제 마지막 하나가 남았습니다.

 

마지막부분에 apns.pem이라고 적어놓은 부분은 여러분이 만들고 싶은 이름으로 변경해서 작성해주시면 됩니다.
이렇게 마무리 하시면 작업하신 해당 경로에 아래리스트와 같이 6개의 파일들이 생성되어 있을 것이니 꼭 확인해주시기 바랍니다.

  • cert.p12
  • key.p12
  • cert.pem
  • key.pem
  • key.unencrypted.pem
  • apns.pem

 

윗 단계를 하나의 이미지로 보면 다음과 같습니다.

Keychain에서 서버인증서 만들기 6
총 6개의 파일이 생성되며 터미널 안에 보시면 타이핑한 내역이 그대로 있습니다.

 

이제 모든 것이 끝났습니다. 결국 apns.pem 이 파일 하나 만들고자 이짓을 했던 것 입니다.
푸시서버로 구성할 곳으로 apns.pem 파일을 업로드 해주시면 됩니다.
위치는 아무곳에나 하셔도 상관없지만 경로만 알면 다운로드가 가능한 웹루트는 피하시기 바랍니다.

이렇게 만들어진 인증서를 이용해 SSL Connect의 연결을 유지한 상태에서 Push메시지를 발송하면 됩니다.
개발에 관련된 부분은 다음 스텝에서 안내해드리겠습니다.

 

APNS관련 포스팅 보기

 

Manziel now has four sixty minute assessments to prove he is the future of the franchise and give the Browns fans some hope for next year. If oakley outlet he can’t do that then the city of Cleveland will likely be in for cheap nba jerseys a few more years despair.. The identity of these cell population was also further confirmed and functionally characterized by quantitative RT PCR in the presence or absence of lipolysaccharide (LPS) using microglia specific PCR primers sets (IBA1, CD11b, CX3CR1 and TNF) (Fig. 5C). You see, the media is like the attractive girl at your high school who you always hated. They’re deceptive, in love with the best, and as much as you want to stay away from them, you keep on giving them the attention they desire. If it turns out that a wedding, birthday, or bar mitzvah dares to interfere with throwback nba jerseys your upcoming Jimmy Buffet or Dave Matthews show, you needn’t fear. Selling your tickets over the Web is easy and legal.. The report showed Sirius XM’s short interest for the two weeks ending Nov. 15 had increased to just over 212 million shares, from its previous reporting period of 183 million. Now looking ahead to Q4, when I came back to Electronic Arts I made a commitment to invest in quality both because I believe it is the right decision for the long term financial health of the company and because it is what our consumers have a right to expect. This is an important principle, even if it results in short term pain.. Again I expect to see the $2.00 level act as a pivot for at least 4 weeks, with trading above and below that figure. If we have an entire mild winter, thanks to a strong El Nino, we could spend February and March 2016 having a ceiling of $2.00, with dips cheap oakleys down to the $1.50 to $1.60 level. This Cheap nfl jerseys is a good starting point for ideas. Each soo unique and amazing. While it was a substantial offer, we were advised by Jarryd’s management that it was not comparable to the other proposals. The club wishes Jarryd well in his future endeavours.”. This will help the stinger to pop out. Never use tweezers as they might actually push the stinger further in.. And for years they exempted athletics from the cut, but then these last few years there’s just been no choice. And that’s what the players are feeling now.. Stats Cheap nfl jerseys show the Lakers and Clippers main bench units have been equally good this season. The Laker group offensive rating, which measures points scored per 100 possessions, is 104.9. “Fair point” is where Clinton left it. Inevitability: Clinton launched her 2016 campaign pushing back hard on the perception that she expected to win ray bans ale the sense of inevitability that surrounded her campaign in 2008.

Watch Logan (2017) Full Movie Online Streaming & Download

image for movie Logan 2017


Quality: HD
Title : Logan
Director : James Mangold.
Release : 2017-02-28
Language : English,Espanol
Runtime : 135 min.
Genre : Action, Drama, Science Fiction.
Synopsis :

What happens when our superheroes get old? It’s essentially something that never happens in our movies, where our heroes are always virile and robust, and if they get a little long in the tooth, we just reboot the series and start over with a younger model. But that’s not the case with Logan, which follows maybe the most famous of the X-Men, Wolverine, as he not only deals with his own broken-down body, but with nursing the longtime leader of the X-Men, professor Charles Xavier. Xavier is now in his 90s and struggles to take care of himself, occasionally slipping into dementia and having trouble recognizing Logan or understanding just what’s going on at any particular time.

And this is just part of what separates Logan from any other superhero movie we’ve seen. I’ll admit that I’ve grown a bit tired of superhero origin stories and crash-and-bang ensemble pictures, but Logan is neither of those things. The characters here feel lived-in and real, and the violence is shocking and gritty. When innocent people are killed in this movie, it doesn’t feel like collateral damage; it’s genuinely disturbing and actually makes us realize that real people’s lives are at stake in this universe.

And even all of this barely scratches the surface. Logan gets involved in trying to save a little girl who’s far more like himself than he’d like to admit, and we eventually follow them as they work with a group of young mutant refugees trying to cross the border into Canada to escape persecution. If that doesn’t resonate with our times, I don’t know what will. The X-Men stories have always reflected racial and ethnic tension and fear, and that’s brought to the forefront here in ways I won’t spoil.

But ultimately, it’s the grounding in reality that makes Logan a special film. We see the broken bodies of our superheroes laid bare, we feel the difficult emotional reality of trying to care for an elderly loved one who has difficulty understanding his own condition and can snap in strange ways at any moment, and we know that nothing can last forever, not even our greatest heroes.

Reflector를 활용한 아이폰 앱 영상 녹화하기

Reflector 소개

앱의 사용방법에 대한 영상을 제작해보고자 검색중 Reflector와 AirServer라는 프로그램을 알게 되어 둘다 사용해보았는데요~!! 개인적으로는 Reflector가 사용하기 편하고 스트리밍 하는 속도도 쾌적한듯해 소개해보고자 합니다. (AirServer는 녹화 기능이 없습니다)

간단하게 말해 Reflector는 나의 Mac이나 PC를 AirPlay 디바이스로 인식하게 해주는 유틸리티입니다.
따라서 이 프로그램을 설치하면 아이폰이나 아이패드의 AirPlay 기술을 이용해 아이폰에서 실행한 영화나 음악을 간편하게 맥이나 PC에서 감상할 수 있게 되겠습니다.

단, 이 프로그램을 이용할 수 있는 디바이스는 iPhone 4S, iPhone 5, iPad 2 or iPad 3에서 이용하실 수 있습니다.
저도 현재 아이폰4라 작동이 안되더군요! 대신 와이프 폰이 4s인지라 이렇게 글을 올릴 수 있게 되었습니다.

 

Reflector 설치방법

이곳에서 https://www.reflectorapp.com/ 다운로드를 합니다. 저는 맥유저라 맥기반으로 설명 드립니다. 다운로드후 Reflector.dmg를 실행하시면 아래와 같은 화면을 만나실 수 있습니다. 다른 여느 맥설치와 동일합니다. 드래그 해서 어플리케이션 폴더로 이동해주세요!!

스크린샷 2013-02-08 오전 1.59.56

그리고 나서 해당 앱을 실행시키면 설치 끝입니다.
정품으로 구매하시면 싱글라이센스로 $12.99입니다.
비품도 없냐고 물어보시는 분들께는 검색이 답이라고 말씀드리고 싶네요 ^^;

 

Reflector 사용방법 (Mac, PC)

해당 맥이나 피씨에서 앱을 실행하시면 아무것도 안뜹니다. 하지만 자세히 보시면 상단에 메뉴에 앱이 실행 중임을 한눈에 알 수 있습니다.

스크린샷 2013-02-08 오전 2.02.38

Device 설정에서 건드릴 부분은 알아서 설정해주시면 될 것 같고, Start Recording만 알고 계시면 될 것 같습니다.
이 것을 누르면 말그대로 아이폰으로 실행중인 프로그램을 맥에서 그대로 보여지고 녹화를 할 수 있게 해줍니다.

아래는 Preferences 입니다.
여기서는 아이폰이나 패드에서 실행한 화면을 띄어줄 기본적인 구성과 AirPlay 연결 이름과 암호 설정을 하실 수 있습니다.
암호는 설정해도 되고 안해도 상관없습니다만, 암호를 설정하면 폰에서 AirPlay연결시 암호를 물어보고 암호에 답해야 접속이 되게 되있으니 참고하시면 될 것 같습니다.

자, 그럼 거의 끝나갑니다. 마지막으로 중요한 폰에서의 설정은 어떻게 할지 다음 섹션을 봐주세요!

스크린샷 2013-02-08 오전 2.02.19

 

Reflector 사용방법 (iPhone, iPad)

iPhone 4S, iPhone 5, iPad 2 or iPad 3에서 홈버튼 더블클릭을 하셔서 가장 왼쪽으로 가시면 아래와 같은 화면을 보실 수 있습니다.

airplay_confing_1 airplay_confing_2

좌측 이미지에서 보시다시피 홈버튼 더블클릭해서 가장 왼쪽으로 가시면 보실 수 있습니다. 혹여나 난 왜 저게 안보이지 하시는 분들은 지금 보이는데서 한번더 드래깅 해주세요!
그래도 안보이신다면 여러분의 기기는 지원하지 않는 것 입니다. 위에서 말씀드렸다시피 iPhone 4S, iPhone 5, iPad 2 or iPad 3 에서만 이용하실 수 있습니다.

여튼 AirPlay 버튼을 누르시면 우측 이미지와 같이 AirPlay 연결 기기를 선택하라고 나옵니다.
저는 qnibus-iMac에 연결했습니다. 연결하는 순간 하단에 Mirroring(미러링)이 나오는데 이를 켜시는 순간 맥에서 다음과 같은 거대한 아이폰이 나타나게 됩니다.

 

Reflector로 맥과 폰 연결 모습

지금 보시는 화면은 아이폰에서 실행하고 있는 모습 그대로 미러링되어 나타나고 있습니다.
이걸 녹화하시려면 위에서 설명드린 Start Recording을 하시면 그대로 녹화하게 됩니다.

녹화가 끝난후 저장메시지가 나오는데 그곳에서는 동영상 렌더링시 폰이나 아이패드의 프레임을 포함할 것인지 말 것인지에 대한 체크사항이 있습니다. 이를 통해 프레임째 동영상으로 제작할 수도 있다는 사실을 꼭 알고 계시기 바랍니다.

스크린샷 2013-02-08 오전 2.13.40

 

녹화 동영상

본 동영상을 촬영하면서 오리엔테이션을 가로 세로 왔다리 갔다리 한번 했더니 기본 동영상 프레임 사이즈가 커지더군요!
참고하시고 한번 감상해주시면 될 것 같습니다.

In order to quantify the reliability of our approach, we employed a random effects ANOVA model. Based on this model, we computed the ratio of the variation due to differences between cell lines for a given peptide ion to the total variation. (Paul) Tagliabue, the cheap oakley sunglasses League nor its counsel ever solicited, reviewed, or relied on any advice from anyone at Lorillard or the Tobacco Institute regarding health issues. The Times implies that there was a nefarious relationship between Joe Browne and Sam Chilcote. In the final encounter the primary member of the group approached Clarkson, with a friend in front of him recording video of the exchange. He sarcastically asked the coach “Hey ‘Clarko’, how was the win, mate? How was the win today, brother?”, prompting Clarkson to use his right hand to gently push him. Be prepared for whatever response comes back to you. It can be anywhere from thankful to cheap jerseys downright hostile. The charges were later dropped. The cop admitted he was having a bad day.. GOLDMAN: When Eric Winston says that, understand a couple of things. He’s the president of the players union that fought for cheap football jerseys that contract with its reduced practice time, and he’s a veteran offensive lineman for the Cincinnati Bengals, a team with one of the league’s best O lines. Don know if it noticeable in his game, but definitely in his jeans, for sure, Coach Doc Rivers said before the Clippers Monday night game against the Detroit Pistons. Lost weight, and let be honest; there no way Marreese should be playing for the minimum, and I think his weight was probably one of the reasons.. Airline pilots in distress consult and reaffirm one another. Referees in every sport huddle together when an important call needs to be made. I have personally pored over these five and many more in bringing you this list. So, don’t just settle for any old alarm clock; NFL Jerseys China make wholesale Jerseys a conscious and smart choice so that you can enjoy some of the unique features of the following “waker uppers”.. What’s exciting for us looking forward is the uptake of next gen cheap oakley sunglasses consoles has been faster than we expected. The launches of the PlayStation 4 and Microsoft Xbox One proved to be strong new catalysts for the console gaming market. Misery at the ‘Theatre of Dreams’ continued on Sunday as he was sent off. Was an almost ever present in the Championship after making the move to Leicester in January 2012, helping win promotion two years ago a campaign that saw him make the team of the season and was also named cheap oakley sunglasses Foxes player of the year.

Watch Movie Online Logan (2017)