Linux에서 아이폰 앱 개발을 시작하시겠습니까?
iPhone 앱을 개발하려면 Mac이 필요하다고 들었습니다.정말이에요?
Linux를 사용한 iPhone 앱 개발이 가능합니까?필요한 경우 필요한 툴은 어디에 다운로드해야 합니까?
다른 응답을 제공하기 위해 Linux의 가상화(VMware) 머신에서 OS X 및 Xcode를 실행하고 있습니다.CPU는 Core2Quad(Q8800)로 매우 빠릅니다.온라인에서 미리 구축된 VM을 찾았습니다(찾아보실 수 있습니다). Xcode/iPhone 개발은 USB를 통한 전화기 자체의 디버깅과 마찬가지로 완벽하게 작동합니다.
그것은 사실 나를 매우 놀라게 했다 - 하지만 나는 전혀 문제가 없었다.
이에 대한 답은 iPhone 스토어를 통해 배포되는 앱을 개발하고 싶은지 여부에 달려 있습니다.그렇지 않고 "고장난" 아이폰 사용자들을 위해 개발하는 것을 꺼리지 않는다면 Linux에서 개발하는 것도 가능합니다.
이 CHAP 페이지에서 작업 방법에 대한 포괄적인 가이드(약간 복잡한 경우)를 확인하십시오.
아직까지는 사실인 것 같다.Apple에서 사용할 수 있는 유일한 SDK는 MacOS 환경만을 대상으로 합니다.나는 그것에 대해 화가 났지만, 나는 단지 아이폰 개발을 하기 위해 맥을 사는 것을 지금 검토하고 있다.저는 그들이 하는 일이 정말 싫어서 Linux나 Windows와 같은 다른 환경에 적합한 SDK가 나왔으면 좋겠어요.
SDK에 관한 장애:
iPhone SDK와 프리 소프트웨어: 일치하지 않음
애플은 최근 아이폰용 소프트웨어 개발 키트(SDK)를 출시했지만, 만약 당신이 그것과 함께 원래의 오픈 소스 소프트웨어를 이식하거나 개발하기를 바란다면, 그 소식은 좋지 않다.코드 서명 및 비공개 조건 때문에 무료 소프트웨어는 사용할 수 없습니다.
SDK 자체는 무료 다운로드이며, 이를 통해 프로그램을 작성하고 소프트웨어 시뮬레이터에서 실행할 수 있습니다.그러나 실제로 작성한 소프트웨어를 출시하기 위해서는 iPhone Developer Program에 등록해야 합니다.이것은 SDK 다운로드와는 별개이며, Apple의 승인이 필요한 단계입니다.
macOS 사용자만이 휴대폰용 프로그램을 만들 수 있다고 생각하는 것은 다소 엘리트적이라고 생각합니다.또한 콘텐츠를 공개하려면 $100 라이선스를 구입해야 한다는 사실 때문에 취미 프로그래머는 더욱 어려워집니다.하지만, 만약 당신이 그렇게 해야 한다면, 나는 그들의 고리를 뛰어넘을 계획입니다. 나는 정말로 아이폰으로 몇 가지를 개발하고 싶습니다.
이전에는 이 결함을 해결하기 위한 프로젝트가 있었습니다: iphone-dev
iphone-dev 프로젝트의 목표는 ARM/Darwin 플랫폼에 기반한 Apple iPhone 및 기타 임베디드 기기 개발을 가능하게 하는 무료 휴대용 고품질 툴체인을 만드는 것입니다.
대체 툴 체인에 대해서는 Saurik의 사이트가 유용하지만 최신 펌웨어 개발에서는 iPhone 자체에 구축되어 있음을 나타내며 Linux 환경에 필요한 iPhone 펌웨어 파일을 복사할 필요가 있음을 나타내지 않습니다.불가능한 것은 아니지만, 특히 코드에 서명하기 위한 추가 작업이 필요합니다(대안 솔루션도 공개되어 있습니다.
또한 보다 체계적으로 접근하는 다른 가이드(같은 툴 체인용)도 살펴봅니다.
애플에 애플리케이션을 제출할 때 문제가 발생할 경우를 대비해 XCode에서 최종 빌드 및 코드 서명 및 패키징을 하는 것이 좋습니다.대체 툴 체인을 사용하면 (최소한 Mac에서는) 애플리케이션 개발에 XCode 이외의 IDE를 사용할 수 있으며, 다시 시뮬레이터를 통한 도입과 테스트에 XCode에 의존할 수 있습니다.
물론 XCode 이외의 명령줄에서 코드 서명/증명서 생성을 할 경우 실제 iPhone에 증명서를 설치하고 그곳에서 테스트할 수 있습니다(증명서가 있는 iTunes를 통해 앱 설치).
Linux에서 iPhone을 개발하는 유일한 방법은 VMware를 설치하고 가상 머신에서 OS X를 실행하는 것입니다.이와 함께, 그것을 하는데 있어서 몇 가지 "법적" 우려가 있다.OS X Server는 가상화가 가능하다고 하는데 개발 스토리는 잘 모르겠습니다.
정말 진심이라면, 그게 바로 내가 조사해야 할 부분이야.
행운을 빌어요.
Tersus(오픈소스)를 사용하면 앱을 Xcode 프로젝트로 내보낼 수 있습니다.
Linux 박스에 코드를 쓸 수 있지만, 최종적으로 iPhone 또는 iPad에 코드를 테스트 또는 배포하거나 App Store에 코드를 제출하려면 Mac이 필요합니다.따라서 궁극적으로 Mac이 필요하므로 Apple이 제공하는 모든 도구를 사용하여 Mac에서도 작업을 수행할 수 있습니다.Xcode & Objective-C에는 모노터치 등의 대체품이 있지만, Apple 툴도 사용하고 있습니다.
Linux 상의 VM에서 OS X를 실행할 수 있습니다.다만, OSX의 카피를 구입해도, OSX 라이센스 계약은 깨집니다.OSX는 Apple의 하드웨어에서만 실행할 수 있는 라이센스이기 때문입니다.
죄송합니다만, iPhone/iPad 주변 생태계는 매우 엄격하게 통제되고 있습니다.
편집: 이에 대한 하나의 주요 예외는 아이폰용 웹 앱을 작성하는 것입니다.아이폰용 웹 앱 중에는 네이티브 앱과 거의 같은 사용자 경험을 할 수 있는 훌륭한 웹 앱이 몇 가지 있습니다.하지만 저는 당신의 질문을 네이티브 앱 개발에 관한 것으로 해석했습니다.웹 앱은 사용자가 시작 아이콘을 만들 수 있지만 여전히 '세컨드 클래스' 시민입니다.
저는 cjacker의 iOS clang 툴체인을 사용하여 Linux 상에서 iOS 앱을 구축하는 데 성공했습니다.기본적으로는 Linux distro의 업스트림 clang 및 llvm 툴, Apple의 링커 Linux 포트 및 빌드 프로세스를 단순화하는 데 도움이 되는 추가 툴(xcode 프로젝트를 Makefile 형식으로 변환하는 등)로 구성됩니다.
인스톨에는 몇개의 스텝이 필요하지만, 소프트웨어 개발자가 되어 있기 때문에, 이것에 익숙할 것입니다.Debian 7(Wheezy)의 최신 사용법을 온라인에 올렸습니다.
https://rogerkeays.com/how-to-build-an-ios-toolchain-for-linux-debian-7
그렇지 않으면 조금 오래된 일반적인 지침을 사용할 수 있습니다.
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
행운을 빌어요.
로즈라는 틀이 있어요
이 컨셉은 Ruby on Rails를 기반으로 하고 있으며, 사용자는 모바일 앱을 Ruby와 HTML로 개발하여 Linux 환경에서 코드를 작성할 수 있습니다.그런 다음 Rhohub에서 계정을 만들 수 있으며, GitHub을 통해 코드를 추가하면 iPhone, Blackberry, Android, Windows Mobile 및 Symbian용으로 모두 동일한 코드로 컴파일할 수 있습니다.iPhone의 경우 Objective-C로, Android의 경우 Java로 코드화할 필요가 없습니다.당신을 위해 변환이 됩니다.iTunes(또는 동등한 시장)에서 사용할 수 있도록 iPhone 애플리케이션(또는 개발하려는 전화)을 만들기 위한 규칙을 준수하기만 하면 됩니다.
iTunes에도 앱을 추가할 수 있습니다.
그러나 에뮬레이터는 발견되지 않았습니다.즉, 앱을 테스트하려면 iPhone에 탑재해야 합니다.이것은 미션입니다.
저는 모든 전화에 앱을 만들고 싶기 때문에 이 옵션을 사용하고 있으며, 이미 Ruby on Rails를 사용하고 있습니다.iPhone용 앱을 만들고 싶다면 Mac에 투자하세요.
이게 도움이 됐으면 좋겠다.
물론 구속되지 않은 전화기는 애플의 앱스토어에 한정되어 있고 애플은 어떤 규칙이라도 강제할 권리가 있다.그것은 완전히 자유롭지 않은 영역이다.그러나 개발 중에 애플과 거래할 필요가 전혀 없을 것이다.예를 들어 rsync를 사용하여 코드를 디바이스에 업로드하고 테스트할 수 있습니다.
어느 정도, 네, 가능합니다.Objective-C 코드를 입력하고 프로젝트를 설정할 수 있습니다.gcc를 사용하여 코드의 C 및 C++ 부분을 테스트할 수도 있습니다.
할 수 없는 일:
- Mac 전용 인터페이스이므로 인터페이스 빌더를 사용하여 인터페이스를 설정합니다(필수는 아니지만 권장).
- Apple의 코코아 클래스를 사용하는 컴파일 코드 - Linux에는 존재하지 않습니다.
- 시뮬레이터에 테스트 코드가 있습니다.Linux에는 없습니다.
- 실제 디바이스 또는 앱스토어용 코드를 컴파일합니다.이 모든 것은 애플이 OS X 전용으로 제공하는 툴이 필요합니다.
맥을 가져와야 해Windows 상에서 실제로 iPhone 애플리케이션을 작성 및 구축할 수 있는 툴체인이 몇 가지 있습니다(win-chain 등).Windows에서 목표 C 코드를 작성하기 위한 관련 튜토리얼이 몇 개 있습니다.하지만 문제가 있습니다. 이렇게 개발된 앱은 감옥이 망가진 아이폰에서만 작동합니다.
이를 극복하고 App Store에 도달하기 위한 해킹은 거의 없었지만, Apple이 SDK를 계속 업데이트함에 따라 툴 체인은 정기적으로 업데이트해야 합니다.항상 꾸미는 것은 귀찮다.앱을 준비하고 싶다면 arcapps의 도움을 받아 저렴한 가격에 앱을 출시할 수 있습니다.아이폰 앱 개발
cocos2d 기반의 게임을 개발할 수 있도록 cocos2d-iphone을 GNUstep에 이식하려고 했습니다.그러나 퍼블리싱을 위해서는 mac. cocos2d-GNUstep이 필요합니다.
ios 시뮬레이터는 앱의 초기 테스트에 뛰어나기 때문에 Mac을 추천합니다.단, Unity를 사용하여 개발하는 소규모 회사를 알고 있기 때문에 Mac이 필요 없습니다.이렇게 하면 사무실에 Mac 하나만 있으면 최종 빌드를 컴파일할 수 있습니다.안드로이드에서도 작동하지만 게임 엔진이기 때문에 건물에 따라 달라집니다.Sencha Touch Mobile과 같은 프레임워크를 사용하여 웹 앱을 살펴보는 것이 좋습니다.
유니티 : http://unity3d.com/ Sencha Touch : http://www.sencha.com/products/touch/
시간을 아낀다면 Mac을 구입하세요! 실행 가능한 솔루션을 제공하기 위한 Linux 개발 옵션에 대해서는 잘 모르지만, 제안된 방법에는 우회적인 작업이 포함되어 있는 것 같습니다.iPhone 앱을 진지하게 만들고 판매할 계획이라면 Mac Mini나 Macbook의 비용을 쉽게 회수할 수 있을 것 같습니다. :-)
Xcode를 사용하여 개발하지 않으면 애플로부터 승인을 받을 수 없습니다.아니요. 만약 SDK를 해킹해서 Linux에서 개발했다면 애플이 알게 되었을 때 놀라지 마세요.저는 ADC와 아이폰 개발자 프로그램의 멤버입니다.애플은 이것에 대해 매우 진지하다.
위험을 감수하지 말고 Macbook 또는 Mac mini를 구입하십시오(예, Mini는 Xcode를 실행할 수 있습니다(느리지만 mini를 사용하면 RAM을 늘릴 수 있습니다).또한 OS X가 VMware 상에서 실행되도록 해킹된 적은 있지만 VM 상에서 Xcode를 실행하는 사람은 본 적이 없습니다.행운을 빈다.그리고 당신이 문제를 겪기 전에 EULA를 확인해 보겠습니다.
PS: 위의 내용을 읽고 SDK를 해킹하여 Linux에서 개발한다면 최소한 Mac에서 최종 패키징을 할 수 있습니다.Mac을 통해 제출합니다.애플은 코드를 한 줄 한 줄 실행하지 않기 때문에 그들이 그걸 알아챌 수 있을지 의심스럽다.하지만 그건 많은 가정과 일이잖아그래도 재밌어.:)
언급URL : https://stackoverflow.com/questions/276907/starting-iphone-app-development-in-linux
'programing' 카테고리의 다른 글
XAML 결합 스타일은 BasedOn을 넘어서는가? (0) | 2023.04.17 |
---|---|
Postgre 최적화신속한 테스트를 위한 SQL (0) | 2023.04.17 |
클릭하는 요소에 관계없이 WPF 창을 끌 수 있도록 설정 (0) | 2023.04.17 |
XmlSerializer에서 오류가 발생한 이유는 무엇입니까? (0) | 2023.04.17 |
Xcode 9의 안전 영역 (0) | 2023.04.17 |