Apple은 지난주에 무엇보다도 발표했습니다. 새로운 애플 TV tvOS 운영 체제를 사용합니다. 새로운 블랙박스에 App Store의 애플리케이션을 설치할 수 있다는 사실은 확실히 개발자들을 가장 기쁘게 했습니다.
개발자에게는 두 가지 옵션이 있습니다. Apple TV 하드웨어에 대한 전체 액세스 권한을 갖는 기본 앱을 작성할 수 있습니다. 사용 가능한 SDK(개발자를 위한 라이브러리 세트)는 개발자가 iPhone, iPad에서 이미 알고 있는 것과 매우 유사하며 프로그래밍 언어도 동일합니다(Objective-C 및 최신 Swift).
그러나 더 간단한 애플리케이션을 위해 Apple은 개발자에게 TVML(Television Markup Language) 형식의 두 번째 옵션을 제공했습니다. TVML이라는 이름이 의심스럽게 HTML과 비슷해 보인다면 당신 말이 맞습니다. 이는 실제로 XML을 기반으로 하고 HTML과 매우 유사한 마크업 언어이지만 훨씬 더 간단하고 더 엄격한 구문을 가지고 있습니다. 하지만 Netflix와 같은 애플리케이션에는 절대적으로 완벽합니다. 또한 TVML의 엄격함으로 인해 멀티미디어 애플리케이션의 모양과 작동이 거의 동일해지기 때문에 사용자에게도 이점이 있습니다.
첫 번째 응용 프로그램의 경로
그래서 가장 먼저 해야 할 일은 Xcode 개발 환경의 새로운 베타 버전(버전 7.1 사용 가능)을 다운로드하는 것이었습니다. 여기에). 이를 통해 tvOS SDK에 액세스할 수 있었고 특별히 4세대 Apple TV를 대상으로 하는 새 프로젝트를 시작할 수 있었습니다. 앱은 tvOS 전용일 수도 있고, 기존 iOS 앱에 코드를 추가하여 오늘날의 iPhone 및 iPad 앱과 유사한 모델인 "유니버설" 앱을 만들 수도 있습니다.
문제 1: Xcode는 네이티브 앱을 생성하는 기능만 제공합니다. 그러나 개발자가 이 뼈대를 변경하고 TVML에 맞게 준비하는 데 도움이 되는 섹션을 문서에서 매우 빨리 찾았습니다. 기본적으로 Apple TV에서 전체 화면 개체를 생성하고 이미 JavaScript로 작성된 앱의 주요 부분을 로드하는 Swift의 코드 몇 줄입니다.
문제 2: TVML 애플리케이션은 실제로 웹 페이지와 매우 유사하므로 모든 코드도 인터넷에서 로드됩니다. 응용 프로그램 자체는 실제로 "부트로더"일 뿐이며 최소한의 코드와 가장 기본적인 그래픽 요소(응용 프로그램 아이콘 등)만 포함되어 있습니다. 결국, 저는 메인 JavaScript 코드를 앱에 직접 넣는 데 성공했고, 최소한 Apple TV가 인터넷에 연결되어 있지 않을 때 사용자 정의 오류 메시지를 표시할 수 있는 능력을 갖게 되었습니다.
세 번째 작은 문제: iOS 9 및 tvOS에서는 인터넷을 향한 모든 통신이 HTTPS를 통해 암호화되어 이루어져야 한다고 엄격히 요구합니다. 이는 모든 앱에 대해 iOS 9에 도입된 기능이며 그 이유는 사용자 개인 정보 보호 및 데이터 보안에 대한 압박 때문입니다. 따라서 웹 서버에 SSL 인증서를 배포해야 합니다. 연간 5달러(120크라운)의 저렴한 비용으로 구매할 수 있으며, 예를 들어 투자 없이 자동으로 HTTPS를 처리하는 CloudFlare 서비스를 사용할 수도 있습니다. 두 번째 옵션은 애플리케이션에 대해 이 제한을 해제하는 것입니다. 현재로서는 가능하지만 권장하지는 않습니다.
몇 시간 동안 문서를 읽은 후 여전히 가끔 사소한 오류가 발생하지만 매우 기본적이지만 작동하는 응용 프로그램을 만들었습니다. 인기 있는 텍스트 "Hello World"와 두 개의 버튼이 표시되었습니다. 버튼을 활성화하고 실제로 뭔가를 하려고 2시간 정도를 보냈습니다. 하지만 이른 아침 시간을 고려하면 잠을 자는 것이 더 좋았고…
얼마 전 Apple에서 바로 기성 샘플 TVML 애플리케이션을 다운로드하자는 기발한 아이디어가 떠올랐습니다. 코드에서 내가 찾고 있던 것을 매우 빠르게 찾았고 버튼이 활성화되어 작동했습니다. 무엇보다도 저는 tvOS 튜토리얼의 처음 두 부분을 인터넷에서 발견했습니다. 두 리소스 모두 많은 도움이 되었기 때문에 새 프로젝트를 시작하고 첫 번째 실제 애플리케이션을 시작했습니다.
첫 번째 실제 적용
나는 첫 번째 TVML 페이지인 처음부터 완전히 시작했습니다. 장점은 Apple이 개발자를 위해 문서에서 복사하기만 하면 되는 18개의 기성 TVML 템플릿을 준비했다는 것입니다. 하나의 템플릿을 편집하는 데 약 한 시간이 걸렸습니다. 주로 필요한 모든 데이터와 함께 완성된 TVML을 Apple TV로 보내기 위해 API를 준비하고 있었기 때문입니다.
두 번째 템플릿은 약 10분 정도 걸렸습니다. 두 개의 JavaScript를 추가했습니다. 그 안에 있는 대부분의 코드는 Apple에서 직접 가져온 것이므로 바퀴를 재발명할 이유가 없습니다. Apple은 권장 콘텐츠 로딩 표시기 및 가능한 오류 표시를 포함하여 TVML 템플릿 로딩 및 표시를 관리하는 스크립트를 준비했습니다.
2시간도 안 되어 아주 단순하지만 제대로 작동하는 PLAY.CZ 애플리케이션을 구성할 수 있었습니다. 라디오 방송국 목록을 표시하고, 장르별로 필터링하고, 라디오를 시작할 수 있습니다. 예, 많은 기능이 앱에 없지만 기본 기능은 작동합니다.
[유튜브 ID=”kLKvWC-rj7Q” 너비=”620″ 높이=”360″]
장점은 응용 프로그램이 기본적으로 JavaScript로 구동되는 웹 사이트의 특수 버전에 지나지 않으며 CSS를 사용하여 모양을 수정할 수도 있다는 것입니다.
Apple은 아직 준비해야 할 몇 가지 사항이 더 필요합니다. 응용 프로그램 아이콘은 하나가 아니라 두 개로 더 작고 큽니다. 특이한 점은 아이콘이 단순한 이미지가 아닌 시차 효과를 포함하고 있으며 2~5개의 레이어(배경, 가운데 개체, 전경)로 구성되어 있다는 점입니다. 애플리케이션 전체의 모든 활성 이미지에는 동일한 효과가 포함될 수 있습니다.
각 레이어는 실제로 투명한 배경의 이미지일 뿐입니다. Apple은 이러한 레이어 이미지를 컴파일하기 위한 자체 애플리케이션을 준비했으며 곧 Adobe Photoshop용 내보내기 플러그인을 출시할 것을 약속합니다.
또 다른 요구 사항은 "상단 선반" 이미지입니다. 사용자가 맨 위 행(맨 위 선반)의 눈에 띄는 위치에 앱을 배치하는 경우 앱은 앱 목록 위의 데스크톱용 콘텐츠도 제공해야 합니다. 단순한 사진만 있을 수도 있고, 예를 들어 좋아하는 영화 목록이나 라디오 방송국 등이 포함된 활성 영역일 수도 있습니다.
많은 개발자들은 이제 막 새로운 tvOS의 가능성을 탐색하기 시작했습니다. 좋은 소식은 콘텐츠 앱을 작성하는 것이 매우 쉽고 Apple이 TVML을 사용하여 개발자를 위해 먼 길을 갔다는 것입니다. 애플리케이션(예: PLAY.CZ 또는 iVyszílò) 구축은 쉽고 빨라야 합니다. 새로운 Apple TV가 판매되는 것과 동시에 많은 수의 애플리케이션이 준비될 가능성이 높습니다.
기본 앱을 작성하거나 iOS에서 tvOS로 게임을 포팅하는 것은 더 어려울 것이지만 그다지 많지는 않습니다. 가장 큰 장애물은 다양한 컨트롤과 앱당 200MB 제한입니다. 네이티브 애플리케이션은 스토어에서 데이터의 제한된 부분만 다운로드할 수 있으며, 그 밖의 모든 항목은 추가로 다운로드해야 하며 시스템이 이 데이터를 삭제하지 않는다는 보장은 없습니다. 그러나 개발자들은 iOS 9의 일부인 "App Thinning"이라는 도구 세트를 사용할 수 있기 때문에 이러한 제한 사항을 신속하게 처리할 수 있을 것입니다.
좋은 기사입니다. 감사해요. 아마도 시간이 지나면 내가 개발자가 아니더라도 iOS용 FileMaker에서 가능한 것처럼 더 간단한 응용 프로그램(솔루션)을 준비하기 위한 사용자 솔루션도 Apple에서 보게 될 것입니다.
이론적으로... Swift 로더는 여전히 동일한 몇 줄이며 첫 번째 TVML 파일의 URL만 변경됩니다. 누군가 원한다면 URL을 사용하여 원격으로 빌드를 실행하고 IPA 파일을 다시 보낼 수 있는 스크립트를 작성할 수 있습니다. 또는 Mac이 있는 경우 URL을 입력하고 빌드를 시작하면 프로젝트를 보내는 데 문제가 없습니다. 장점은 TVML이 애플리케이션 외부에 있는 경우 실제로 하나의 공개 빌드와 하나의 프라이빗(개발) 빌드만 필요하며 서버의 TVML과 애플리케이션의 기능만 변경할 수 있다는 것입니다.
"앱은 tvOS 전용일 수도 있고, 기존 iOS 앱에 코드를 추가하여 현재 iPhone 및 iPad 앱과 유사한 모델인 '일률적인' 앱을 만들 수도 있습니다."
무슨 뜻인지 궁금해요? 개인적으로 범용 iPhone, iPad 및 Apple TV를 포함하는 1개의 빌드를 만드는 방법을 찾지 못했습니다. 별도의 SDK(OSX와 유사)이므로 tvOS에 대한 추가 대상이 필요하므로 별도의 빌드도 필요합니다. 뭔가 빠졌나요?
Xcode 7.1에서는 tvOS 애플리케이션을 기존 프로젝트에 또 다른 대상으로 추가할 수 있습니다. 이는 Apple Watch용 애플리케이션이나 알림 센터용 위젯과 유사합니다. 다만 스토어에 어떻게 업로드될지는 아직 모르겠습니다... Xcode가 하나의 패키지를 보내고 App Store에서 이를 분할할 것으로 가정합니다... 아마도 Watch Now에서 하는 것과 비슷할 것입니다.
아뇨.. 제 생각에는 이건 완전히 다른 2가지입니다.. watch는 확장입니다.. 아니면 적어도 watchOS 2.0까지는 그랬습니다.. iOS 타겟과 함께 제공되었고 iPhone 없이는 작동하지도 않았습니다.. ATV는 별도의 개체입니다.. 그게 바로 제가 말하는 것입니다. ATV용 빌드가 별도인지(2$를 지불해야 함) 추가로 iOS가 2$를 지불하는지, 아니면 유니버설을 부여할 수 있는지에 대해 이야기하는 것입니다. iOS 및 ATV 모두를 위한 2$ 빌드. ATV용 제품군..
따라서 실제 출시가 표시되지만 실제로는 Apple Watch 코드와 동일하게 작동합니다. 그렇지 않으면 기존 애플리케이션에 tvOS용 코드를 추가할 수 있으므로 iOS와 tvOS 모두에 대해 동시에 하나의 앱(App Store의 하나의 엔터티)을 판매할 수 있다고 문서에 명시되어 있습니다. 고객 또는 별도의 법인 - iOS 및 tvOS의 경우 별도 구매.
명확히 말하면 앱당 200MB가 아니라 200MB가 로컬에 저장되고 나머지는 필요할 때 인터넷에서 다운로드됩니다.
고마워요. 그렇게 생각했는데 제가 잘못 표현한 것 같아요. 200MB를 초과하는 모든 것(또는 추가로 다운로드한 모든 것)은 캐시로 저장되며 시스템에서 공간이 부족하다고 판단하면 삭제가 시작됩니다. 이는 여유 공간이 충분하고 사용률이 가장 낮은 콘텐츠가 될 때까지 삭제되지 않을 것입니다. 삭제될 것이므로 실제로는 큰 문제가 되지 않을 것입니다.
또 알아내야 할 점은 이 제한이 게임에 적용되지 않을 것이라는 것입니다. 게임은 기본적으로 200MB보다 클 수 있습니다. 하지만 이것이 정확히 어떤 의미인지는 아직도 잘 모르겠습니다. Apple이 개발자의 피드백에 따라 이 정책을 계속 조정하고 있을 가능성이 높습니다.
ㅎㅎ 포켓몬TCG – 4GB, 온라인 주문혼돈 – 1,6GB 하스스톤 1,3GB 이게 정말 궁금하네요.
게임에 특수 모드가 있다는 정보가 있었습니다. 이제 세부 사항을 정리하고 기사를 완성하겠습니다.
저는 할 수 없습니다. 누군가 기분을 상하게 했다면 미리 사과드립니다. 하지만 저는 단지 여러분과 공유하고 싶은 거대하고 진실하며 진정한 기쁨이 있을 뿐입니다...
새로운 Apple TV가 발표된 다음 날, 나는 게으름을 피우지 않고 개발자 키트가 판매되기 전에도 얻을 수 있는 가능성이 있는 Apple 복권(선택할까요?)에 등록했습니다.
어제 저녁, Apple은 저를 첫 번째 배치로 선택했다고 저에게 편지를 보냈습니다. :)
따라서 저는 이 기사의 작성자와 동일하지 않으며 Apple TV용 Preschool Brasnicce를 정직하게 작업하고 있습니다. 10월에 App Store에서 다운로드할 수 있습니다 :)
그래서 등록하신 분들은 아마 다 받으실 것 같은 느낌이 듭니다 :) 저도 어제 주문했는데 정말정말 기대되네요... 그리고 배송 기다리는 분이 한명 더 계시는데...
아무튼 아직까지는 판매가 시작되면 아마 앱이 많이 나올 것 같습니다 :)
아마 다들 그렇지 않을 거예요 - 그들은 나에게 그걸 주지 않았어요 :(
:( 정말 안 됐구나.
누구든지 원한다면 흰색 Apple 스티커 8개를 갖고 싶습니다… 우편으로 보내드릴 수 있습니다…