2009-07-20 3 views
6

Mac을 개발할 필요가 있고 Objective-C를 배워야하기 때문에 iPhone이나 iPod Touch 개발을 해 본 적이 없습니다. MonoTouch의 발표와 함께 나는 이미 익숙한 .NET 언어를 사용할 수 있으며, 내 Windows PC에서 개발할 수 있습니다.MonoTouch에서 iPhone/iPod Touch에 게시하려면 Mac이 필요합니까?

그러나 iPhone 응용 프로그램을 배포하고 테스트하기 위해 Mac이 여전히 필요한지 궁금합니다. 그렇다면 iPhone touch에는 어떤 도구가 필요하며 MonoTouch를 사용하여 Windows에서 실행할 도구는 무엇입니까?

+3

시간을 낭비하게됩니다. Learning Objective-C는 다른 C 유사 언어를 이미 알고있는 경우에 빠져 나간다. 더 까다로운 부분은 프레임 워크를 배우는 것입니다. 이 MonoTouch를 사용하면 지식을 재사용하여 재사용 할 수 있지만 iPhone UI에 대한 새로운 내용을 배워야합니다. 글 머리 기호를 물고 코코아 터치 만 배우면 좋습니다. –

+1

나는 새로운 PC 데스크탑과 노트북을 구입할 때 새로운 Apple을 사기 위해 돈을 버는 것이 진짜 장애물입니다. 이 시점에서 iPhone 개발은 비즈니스 요구가 아닌 호기심이므로 비용은 거의 정당하지 않습니다. –

답변

11

은 당신이 실제로 OS X의에 배포 응용 프로그램을 구축 할 수있는 안전한 내기라고 생각 문서화 및 OS XI에서만 사용할 수 있습니다

기술적으로 다른 OS에서 시뮬레이터 나 코드 닝 도구로 앱을 컴파일하는 것은 가능하지만 테스트 할 방법이 없기 때문에 Mac을 사용해야합니다. 나는 또한 jailbroken 장치에 대해 테스트하는 것이 가능할 수도 있다고 가정하지만 재고가없는 OS 펌웨어를 테스트하지 않은 응용 프로그램을 제공하고 싶지는 않습니다.

+0

루이에게 감사드립니다. 그것이 제가 예상 할 수있는 것입니다. –

6

답변에 대한 씨앗이 질문에 포함되어 있습니다. 부터 project page :

MonoTouch는 Mac과 애플의 아이폰 SDK 에뮬레이터에서 테스트하는 데 필요한; 기기에 배포하려면 Apple iPhone 개발자 여야합니다.

2

마이클의 응답에있는 어떤 점도 짐의 질문에 직접 언급하지 않습니다.

Windows 플랫폼을 사용하면 iPhone SDK 에뮬레이터를 사용할 수 없지만 반드시 실제 iPhone/iPod Touch에 배포하거나 테스트하지는 않습니다.

제 생각에 당신은 아이폰 개발자로 등록하기 위해 맥 하드웨어를 소유 할 필요가 없습니다. iPhone이 지원하는 테스트 배포 기능을 사용할 수 있으려면 iPhone 개발자 여야합니다.

아직 MonoTouch를 시도하지는 않았지만 이것이 어떻게 작동 하는지를 이해하고 있습니다. MonoTouch를 사용하여 컴파일하면 iPhone/iPod Touch 장치에서 실행할 수있는 바이너리를 출력합니다. 그런 다음 iTunes를 사용하여 응용 프로그램 패널 위로 이진 파일을 드래그하고 장치를 동기화하십시오. 이 접근 방식은 반드시 네이티브 개발만큼 자동화되지는 않지만 "Mac은 무료"로 작동해야합니다. 장치의 실행을 위해 신청서에 서명하는 데 필요한 codesigning 도구로 보는

+0

하드웨어 디버깅이 없다면 꽤 겁나는 것 같습니다. 네가 기억을 새고 있는지 어떻게 알 수 있니? 장치에서 충돌하지만 에뮬레이터에서 충돌하는 경우 어떻게 수정합니까?재미 있겠지만, 테스트 프로젝트를 수행하지 않고 플로우가 무엇인지를 보지 않고도 그 것에 의지하는 것이 무섭습니다. – Nosredna

+0

동의. 나는 의도 된 개발 툴의 주요 부분없이 아이폰과 같은 디바이스를위한 소프트웨어를 작성하려고하는 것을 상상할 수 없다. iPhone dev을 사용하면 도구 체인에 Mac이 설치됩니다. 저는 iPhone 개발을 조금 봤습니다. 개발을 위해 MacBook Pro를 구입했습니다. 그것은 엄청난 구매 였고 나는 그것을 후회하지 않았습니다. –

+2

루이 (Louis)가 지적했듯이, 설치 전에 비 jailbroken 장치에 코드를 지정해야하며 이는 Mac에서만 사용할 수 있습니다. –