광고 닫기

2011년 WWDC의 마지막 기조연설에서 스티브 잡스는 여전히 많은 개발자들을 겁에 질리게 하는 서비스를 소개했습니다. 문제가 발생한 MobileMe의 성공적인 후속 제품인 iCloud가 바로 그것입니다. 그러나 iCloud에도 오류가 없는 것은 아닙니다. 그리고 개발자들은 폭동을 일으키고 있습니다…

스티브 잡스는 2011년 XNUMX월 처음으로 iCloud를 시연했고, 이 서비스는 XNUMX개월 후 출시되어 현재 약 XNUMX년 반 동안 운영되고 있습니다. 표면적으로는 전설적인 비전가의 말에 따르면 "그냥 작동하는"(또는 적어도 작동해야 하는) 비교적 원활한 서비스이지만 내부에는 종종 원하는 작업을 수행하는 길들여지지 않은 메커니즘이 있으며 개발자에게는 효과적인 무기가 없습니다. 그것에 반대합니다.

"모든 일이 자동으로 이루어지며 앱을 iCloud 저장 시스템에 연결하는 것이 매우 쉽습니다." 당시 잡스는 이렇게 말했다. 이제 개발자들이 그의 말을 기억하면 아마도 뻣뻣해질 것입니다. “iCloud는 우리에게 적합하지 않았습니다. 우리는 정말 많은 시간을 투자했지만 iCloud와 Core Data 동기화에는 우리가 해결할 수 없는 문제가 있었습니다.” 그는 인정했다 예를 들어, 잘 알려진 RSS 리더인 NetNewsWire를 담당하는 Black Pixel 스튜디오의 책임자입니다. 그녀에게 iCloud는 동기화를 위한 이상적인 솔루션이어야 했습니다. 특히 Google이 Google 리더를 종료하려고 하지만 Apple 서비스에 대한 투자가 성공하지 못한 시기에 말이죠.

아무것도 작동하지 않습니다

250억 XNUMX천만 명이 넘는 사용자를 보유한 세계 최대 규모의 서비스가 이러한 문제를 안고 있다는 것은 놀라운 일입니다. 이 문제를 대강 보면 개발자를 비난할 수도 있지만 현재로서는 그들은 결백합니다. iCloud는 그 중 많은 기능을 애플리케이션에 구현하려고 시도하지만 그 시도는 종종 실패로 끝나곤 합니다. iCloud에는 동기화에 심각한 문제가 있기 때문입니다.

[do action=”quote”]문제에 부딪혀 결국 포기한 개발자는 셀 수조차 없습니다.[/do]

"나는 작동하는 해결책을 찾기 위해 iCloud 코드를 여러 번 다시 작성했습니다." 그는 썼다. 개발자 Michael Göbel. 그러나 그는 해결책을 찾지 못했기 때문에 아직 자신의 애플리케이션을 마케팅하거나 App Store를 마케팅할 수 없습니다. “저와 같은 문제에 부딪혀 결국 포기한 개발자와 회사는 셀 수도 없습니다. 수십만 개의 사용자 데이터를 잃은 후 그들은 단순히 iCloud를 완전히 포기했습니다.”

Apple의 iCloud에 대한 가장 큰 문제점은 데이터베이스 동기화(Core Data)입니다. Apple의 클라우드를 통해 동기화할 수 있는 다른 두 가지 유형의 데이터(설정 및 파일)는 아무런 문제 없이 한도 내에서 작동합니다. 그러나 Core Data는 완전히 예측할 수 없게 작동합니다. 여러 장치에서 여러 데이터베이스를 동기화할 수 있는 상위 수준 프레임워크입니다. "iCloud는 Core Data 지원으로 모든 데이터베이스 동기화 문제를 해결하겠다고 약속했지만 작동하지 않습니다." Apple과 좋은 관계를 유지하기 위해 이름을 밝히기를 원하지 않은 저명한 개발자 중 한 명이 말했습니다.

동시에 Apple은 이러한 문제를 완전히 무시하고 iCloud는 계속해서 간단한 솔루션으로 광고하며 사용자는 개발자에게 이를 요구합니다. 그러나 개발자의 최선의 노력에도 불구하고 사용자의 데이터는 통제할 수 없게 사라지고 장치의 동기화가 중단됩니다. "이러한 문제는 해결하는 데 몇 시간이 걸리는 경우가 많으며 일부 문제는 계정을 영구적으로 손상시킬 수 있습니다." 또 다른 주요 개발자는 Apple에 기대어 다음과 같이 덧붙였습니다. "또한 AppleCare는 고객과 함께 이러한 문제를 해결할 수 없습니다."

“우리는 항상 Core Data와 iCloud를 결합하는 데 어려움을 겪고 있습니다. 이 전체 시스템은 예측할 수 없으며 개발자는 기능에 영향을 미칠 수 있는 옵션이 제한적인 경우가 많습니다." 체코 개발 스튜디오에 대해 설명합니다. 터치아트, 이는 지속적인 문제로 인해 이 솔루션을 포기하고 자체적으로 작업하며 데이터베이스 동기화 대신 파일 동기화를 사용한다는 것을 확인했습니다. 그런 다음 iCloud를 통해 파일 동기화가 문제 없이 이루어지기 때문에 이를 위해 iCloud를 사용할 수 있습니다. 결국 이것은 Jumsoft의 개발자들에 의해서도 확인되었습니다. "iCloud는 의심할 여지없이 직접 파일 저장을 위한 훌륭한 도구입니다." 그러나 불행히도 Jumsoft는 잘 알려진 Money 애플리케이션을 위해 Core Data가 필요하며 이는 걸림돌입니다.

[do action="quote"]iCloud와 Core Data는 모든 개발자에게 최악의 악몽입니다.[/do]

많은 문제는 사용자가 자신의 기기에서 하나의 Apple ID에서 로그아웃하고 다른 기기를 통해 로그인하는 경우와 같이 쉽게 발생할 수 있는 예상치 못한 상황에서도 발생합니다. Apple은 전혀 의존하지 않습니다. "iCloud에 로그인하지 않은 사용자가 애플리케이션을 켠 다음 iCloud에 연결하고 애플리케이션을 다시 시작할 때 문제를 해결하는 방법은 무엇입니까?" 그는 물었다 Apple 포럼에서 개발자 한 명과 함께.

iCloud의 모든 문제는 앱 사용자가 데이터를 잃어 좌절감을 느끼는 반면 개발자는 무기력하게 바라보는 경우가 많습니다. "사용자들은 나에게 불평하고 별 한 개로 앱을 평가합니다." 그는 불평했다 Apple 포럼에서 개발자 Brian Arnold는 비슷한 문제를 어떻게 처리해야 하는지, 왜 그런 문제가 발생하는지에 대해 Apple로부터 아직 설명을 받지 못했습니다. 그리고 포럼에는 iCloud 동기화에 대한 불만이 가득합니다.

일부 개발자는 이미 iCloud에 대한 인내심을 잃고 있으며 이는 당연한 일입니다. "iCloud와 Core Data는 모든 개발자에게 최악의 악몽입니다." ~에 대한 직전 이름없는 개발자. "때때로 실망스럽고 짜증나기도 하며, 문제 해결에 끝없는 시간을 투자할 가치가 있습니다."

애플은 침묵한다. 그는 스스로 문제를 우회한다

아마도 Apple의 iCloud 문제가 아무 일도 일어나지 않은 것처럼 지나가는 것은 놀라운 일이 아닙니다. Apple은 실제로 문제가 있는 Core Data를 애플리케이션에 사용하지 않습니다. 실제로 두 개의 iCloud가 있습니다. 하나는 Apple 서비스를 지원하는 것이고 다른 하나는 개발자에게 제공되는 것입니다. iMessage, Mail, iCloud 백업, iTunes, Photo Stream 등과 같은 앱 및 서비스는 타사 개발자가 사용할 수 있는 것과는 완전히 다른 기술을 기반으로 구축되었습니다. 즉, 끊임없이 문제가 발생하는 것입니다. iWork 제품군(Keynote, Pages, Numbers)의 응용 프로그램은 타사 응용 프로그램과 동일한 API를 사용하지만 Apple이 작업에 세심한 주의를 기울이는 훨씬 간단한 문서 동기화에만 사용됩니다. Cupertino의 앱에 iCloud와 Core Data를 허용하면 안정성 측면에서 타사 개발자보다 나을 것이 없습니다. 동기화를 위해 Core Data를 사용하는 Trailers 애플리케이션은 그 자체로 말하며 사용자는 정기적으로 일부 기록을 잃습니다.

그러나 대중적이지 않은 예고편의 경우 이러한 문제는 상대적으로 잃기 쉽습니다. 그렇다면 가장 인기 있는 응용 프로그램의 개발자는 문제가 있는 iCloud의 핵심 데이터에만 의존해야 하지만 종종 Apple이 광고에서 지속적으로 광고하는 기능을 보장할 수 없는 사용자에게 무엇을 말해야 할까요? 애플은 확실히 그들을 돕지 않을 것이다. "Apple 측에서 이 상황에 대해 논평할 수 있는 사람이 있나요?" 그는 물었다 신뢰할 수 없는 iCloud로 인해 곧 출시될 앱을 종료해야 했던 개발자 Justin Driscoll은 포럼에서 실패했습니다.

한 해 동안 Apple은 개발자를 돕지 않았기 때문에 모두는 적어도 작년 WWDC, 즉 개발자를 대상으로 한 컨퍼런스에서 문제가 해결되기를 바랐지만 여기에서도 Apple은 개발자의 엄청난 압력으로 인해 많은 도움을 제공하지 못했습니다. 예를 들어 그는 핵심 데이터를 동기화하는 데 사용할 수 있는 샘플 코드를 제공했지만 완성과는 거리가 멀었습니다. 다시 말하지만, 큰 도움은 되지 않습니다. 또한 Apple 엔지니어들은 개발자들에게 iOS 6을 기다리라고 촉구했습니다. "iOS 5에서 iOS 6으로 이전하면서 모든 것이 XNUMX% 더 좋아졌습니다." 익명의 개발자가 확인했으며, "하지만 아직 이상적인 수준과는 거리가 멀다." 다른 소식통에 따르면 Apple은 지난해 Core Data를 담당하는 직원이 4명에 불과했는데, 이는 Apple이 이 분야에 관심이 없음을 분명히 보여줍니다. 그러나 회사는 이 정보에 대해 논평을 거부했습니다.

작별 인사와 스카프

모든 우여곡절을 언급한 후, 비록 마음이 무거웠음에도 불구하고 많은 개발자들이 iCloud를 거부한 것은 놀라운 일이 아닙니다. 마침내 개발자들이 갈망했던 무언가, 즉 두 개 이상의 장치에서 동일한 데이터베이스와 지속적인 동기화를 보장하는 간단한 솔루션을 제공하기로 되어 있던 것이 바로 iCloud였습니다. 불행히도 현실은 다릅니다. "우리 앱의 솔루션으로 iCloud와 Core Data를 고려했을 때 아무것도 작동하지 않기 때문에 사용할 수 없다는 것을 깨달았습니다." 가장 잘 팔리는 iPhone 및 Mac 응용 프로그램의 개발자가 말했습니다.

iCloud가 쉽게 버리지 않는 또 다른 이유는 Apple이 자사 서비스(iCloud, Game Center)를 사용하는 애플리케이션을 알아채고 App Store에서 Apple이 없는 애플리케이션을 완전히 무시한다는 사실입니다. iCloud는 마케팅 관점에서도 좋은 솔루션입니다.

예를 들어 Dropbox는 가능한 대안으로 제공되지만 더 이상 사용자 친화적이지 않습니다. 한편으로는 사용자가 다른 계정을 설정해야 하고(iCloud는 새 장치를 구입하면 자동으로 사용할 수 있음) 다른 한편으로는 애플리케이션이 작동하려면 인증이 필요하며 이는 iCloud에서도 실패합니다. 마지막으로 Dropbox는 개발자가 원하는 것이 아닌 문서 동기화 기능을 제공합니다. 그들은 데이터베이스를 동기화하려고 합니다. "현재 가장 많이 사용되고 있는 드롭박스는 데이터 동기화에 있어 그 성능이 입증되었습니다. 하지만 데이터베이스 동기화에 관해서는 iCloud에 의존하고 있습니다." Touch Art의 Roman Maštalíř를 인정합니다.

[do action="quote"]Apple에 iOS 7의 모든 문제를 해결했다고 말하고 싶지만 실제로는 믿지 않습니다.[/do]

그러나 2Do 애플리케이션 개발자는 iCloud에 대한 수많은 부정적인 경험으로 인해 인내심을 갖지 못했고 Apple 서비스를 전혀 시도하지 않고 즉시 자체 솔루션을 생각해 냈습니다. “우리는 모든 문제 때문에 iCloud를 사용하지 않습니다. 우리가 원하는 만큼 통제할 수 없는 매우 폐쇄적인 시스템입니다." 개발자 Fahad Gillani가 우리에게 말했습니다. "저희는 동기화를 위해 Dropbox를 선택했습니다. 그러나 우리는 문서 동기화를 사용하지 않고 이를 위해 자체 동기화 솔루션을 작성했습니다."

또 다른 체코 ​​스튜디오인 Madfinger Games의 게임에도 iCloud가 없습니다. 그러나 인기 타이틀인 Dead Trigger와 Shadowgun의 제작자는 약간 다른 이유로 Apple 서비스를 사용하지 않습니다. "우리는 플랫폼 간에 게임 진행 상황을 전송할 수 있기를 원했기 때문에 게임 내 위치를 저장하기 위한 자체 클라우드 기반 시스템을 보유하고 있습니다." David Kolečkář는 Madfinger Games용 iOS 및 Android용 게임 개발로 인해 iCloud가 결코 해결책이 되지 못했다고 밝혔습니다.

해결책이 있을까요?

시간이 지남에 따라 많은 개발자들은 Apple이 해결책을 제시할 것이라는 희망을 서서히 잃어가고 있습니다. 예를 들어 다음 WWDC가 다가오고 있지만 Apple은 지금도 개발자와 실질적으로 소통하지 않기 때문에 조언과 답변이 가득한 두 팔 벌려 WWDC에 올 것이라고는 예상되지 않습니다. "우리가 할 수 있는 일은 계속해서 Apple에 버그 보고서를 보내고 그들이 수정되기를 바라는 것뿐입니다." 이름이 알려지지 않은 한 iOS 개발자를 애도했고 다른 개발자도 그의 감정을 반영했습니다. "애플에게 iOS 7의 모든 문제를 해결했고 XNUMX년 후에 마침내 iCloud를 문제 없이 사용할 수 있다고 말하고 싶지만 실제로는 믿기지 않습니다." 그러나 올해 WWDC의 중심 주제는 iOS 7이 될 것이므로 개발자들은 최소한 희망을 가질 수 있습니다.

Apple이 새 버전의 운영 체제에서 iCloud 문제에 대한 솔루션을 제공하지 않으면 일부 프로젝트에서는 사실상 관에 못이 박힐 수 있습니다. 지금까지 iCloud의 강력한 지지자였던 개발자 중 한 명은 다음과 같이 말합니다. "애플이 iOS 7에서 이 문제를 해결하지 않는다면 우리는 제품을 포기해야 할 것입니다."

드로이 : 버지닷컴, 더넥스트웹닷컴
.