Mac을 소유하지 않고 iOS 앱을 만드시겠습니까? [닫은]


98

내가 틀렸다면 나를 고쳐주세요.

저는 모바일 개발이 처음이고 애플 스토어에 제출할 앱을 개발하고 싶습니다.

하지만 제가 염두에두고있는 앱을 개발하고있는 맥의 가격에 크게 실망했습니다.

내가 원하는 것과 코딩하는 방법을 정확히 알고 있다고 가정 해 봅시다.

개발자 계정을 만들고 수수료를 지불하려면 친구 Mac을 빌려 코드를 작성하고 Apple에 코드를 제출합니다. 그게 내가 Mac에 필요한 전부입니까? 그러면 Windows 컴퓨터의 iTunes를 통해 모든 통계 등에 액세스 할 수 있습니까?

누군가 내가 망상이라고 말해 줄 수 있습니까?


2
그것은 당신이 말하는 방식으로 달성 될 수 있지만 앱에 업데이트 또는 사소한 버그 또는 변경이 필요한 경우이 비트에 대해 생각하십시오. 친구에게 부탁 할 때마다?
D-eptdeveloper 2013 년

5
진지한 iOS 개발을 위해서는 Mac이 필요합니다. 기간. 그리고 그들은 결국 그렇게 비싸지 않습니다. 테스트 할 iOS 기기가 몇 개 있다는 것을 잊지 마세요. 사용 가능한 하드웨어에서 테스트되지 않은 앱은 일반적으로 결함이 있습니다.
에이코

1
망상적인 부분은 "나는 그것을 코딩하는 법을 안다"로 시작한다 ... 만약 당신이 당신 자신을 코딩한다면 (즉, 다른 사람들이 계약을하지 않는다면) 많은 테스트와 디버깅 이 필요할 것이다 . 누군가에게 보여줄만한 가치가있는 프로젝트를 실행하기 위해 몇 주를 생각해보십시오. 그것을 연마하고 "상점 가치"로 만드는 것은 힘든 일이 될 것입니다. 이미 경험이 많은 iOS 개발자 라면 Mac에서 하루 안에 구축 된 가장 쓸모없는 앱 (예 : "웹 사이트 래퍼") 만 생각할 수 있습니다 .
에이코

Linux에서 GCC 기반 iOS 도구 모음을 빌드 할 수 있습니다. Xcode는 컴파일러가 아닙니다. 앱 스토어에 앱을 제출하기 위해 인증서를 생성하는 데만 필요합니다.
상자성 크로아상

2
Intel 프로세서에서 Mac OS를 실행할 수있는 Hackintosh를 검색 할 수 있지만 이것은 불법이라고 생각합니다.
Borzh

답변:


32

몇 년 전 저도 같은 상황에 처해 있었음을 단계적으로 말씀 드리겠습니다.

그래서 우리는 두 단계가 있습니다

  1. iPhone / iPad (iOS) 앱 개발
  2. iPhone / iPad (iOS) 앱 개발 및 iTunes Store에 게시

1. iPhone / iPad (iOS) 앱 개발

따라서 iOS 앱을 개발하고 싶다면 비용을 지불하고 싶지 않습니다.

Mac + XCode IDE 만 있으면됩니다.

  1. Mac Mini 또는 Mac 머신 받기
  2. Apple에서 무료로 개발자 계정 만들기
  3. 개발자 계정에 로그인하면 Xcode IDE의 .dmg 파일을 다운로드 할 수 있습니다.
  4. 그게 다야.

이제 Xcode를 설치하고 iOS 앱 개발을 시작하고 Simulator로 테스트 / 디버그하기 만하면됩니다.

2. iPhone / iPad (iOS) 앱 개발 및 iTunes Store에 게시

iTunes 스토어에 앱을 게시하려면 지불해야합니다 (예 : $ 99 / 년).

따라서 완전한 iOS 개발 설정을 위해서는

  1. Mac Mini 또는 Mac 머신 받기
  2. Apple에서 무료로 개발자 계정 만들기
  3. 개발자 계정에 로그인하면 Xcode IDE의 .dmg 파일을 다운로드 할 수 있습니다.
  4. iTunes에 게시 앱에 대해 $ 99 지불
  5. Apple 계정에서 개발 / 배포를위한 인증서 생성
  6. Mac 컴퓨터에 모든 인증서를 다운로드하고 키 체인 도구를 사용하여 XCode에 설치
  7. 하나 이상의 iOS 기기 가져 오기
  8. Apple 계정에 장치 등록
  9. 이제 iOS 앱을 개발하고 실제 장치에서 테스트하고 iTunes Store에 게시 할 수도 있습니다.


그러나 질문은 구체적으로 "Mac을 소유하지 않고 있습니까?"라고 말합니다…
PF4Public

28

Windows에서는 가상 머신에서 Mac을 사용할 수 있습니다 (이것은 아마도 Linux에서도 작동하지만 테스트하지는 않았습니다). 가상 머신은 기본적으로 컴퓨터에서 실행하는 프로그램으로, 다른 하나의 창에서 하나의 OS를 실행할 수 있습니다. 하드 드라이브에 최소 60GB의 여유 공간이 있는지 확인하십시오. 다운로드 할 가상 하드 드라이브는 처음에는 10GB를 차지하지만 iOS 앱 개발에 필요한 모든 프로그램을 설치하면 크기가 50GB로 쉽게 증가 할 수 있습니다 (경우에 따라 몇 GB 여유를 남겨 두는 것이 좋습니다).

다음은 Windows에 Mac 가상 머신을 설치하는 방법에 대한 몇 가지 세부 단계입니다.

  1. VirtualBox를 설치합니다 .

  2. BIOS에서 가상화를 활성화해야합니다. Windows 10에서 BIOS를 열려면 Shift키를 누른 상태에서 시작 메뉴에서 다시 시작 버튼을 눌러 시작해야합니다. 그러면 몇 가지 옵션이있는 블루 스크린이 나타납니다. "문제 해결", "고급 옵션", "UEFI 펌웨어 설정", "다시 시작"을 차례로 선택합니다. 그러면 컴퓨터가 다시 시작되고 BIOS가 직접 열립니다. 이전 버전의 Windows에서는 컴퓨터를 정상적으로 종료하고 F2키를 누른 상태로 컴퓨터를 다시 시작한 다음 F2BIOS에 들어갈 때까지 손을 떼지 마십시오 . 일부 컴퓨터에서는 이외의 다른 키를 눌러야 할 수 있습니다 F2.

  3. 이제 BIOS에 있으므로 가상화를 활성화해야합니다. 변경해야하는 설정은 사용중인 컴퓨터에 따라 다릅니다. 이는 동일한 버전의 Windows를 사용하는 두 컴퓨터 간에도 다를 수 있습니다. 내 컴퓨터에서는 탭 Intel Virtual Technology에서 로 설정해야 Configuration합니다 Enabled. 다른 컴퓨터에서는 예를 들어 Security -> Virtualization또는 Advanced -> CPU Setup. 이러한 옵션을 찾을 수없는 경우 Google에서 . BIOS에서 임의로 변경하지 마십시오. 그렇지 않으면 컴퓨터에 문제가 발생할 수 있습니다. 가상화를 활성화하면 변경 사항을 저장하고 BIOS를 종료합니다. 이것은 일반적으로 탭 에서 수행됩니다 .enable virtualization (the kind of computer you have)Exit

  4. 이 파일을 다운로드 합니다 ( 파일 을 업로드 한 사람과는 관련이 없지만 직접 사용 했으므로 바이러스가 없음을 확신합니다). 링크가 끊어진 경우 댓글을 달아 알려 주시면 다른 곳에 파일 업로드를 시도하겠습니다. 7Z 파일을 열기위한 암호는 stackoverflow.com. 이 7Z 파일에는 Mac 가상 머신의 하드 드라이브 역할을하는 VMDK 파일이 포함되어 있습니다. 해당 VMDK 파일을 추출하십시오. 디스크 공간이 문제인 경우 VMDK 파일의 압축을 푼 후 7Z 파일을 삭제하여 7GB를 절약 할 수 있습니다.

  5. 1 단계에서 설치 한 VirtualBox를 엽니 다. 도구 모음에서 새로 만들기 단추를 누릅니다. 그런 다음 가상 머신의 이름을 선택합니다 (이름은 중요하지 않으며 "Mac"이라고 함). "유형"에서 "Mac OS X"를 선택하고 "버전"에서 "macOS 10.13 High Sierra (64 비트)"를 선택합니다 (가상 컴퓨터에 설치할 Mac 버전은 실제로 Catalina이지만 VirtualBox에는 해당 옵션이 없습니다. 아직 VirtualBox가 High Sierra라고 생각하면 잘 작동합니다.)

    4 단계에서 압축을 푼 VMDK 파일을 "Machine Folder"아래에 나열된 폴더 (위 스크린 샷에서)로 이동하는 것도 좋습니다 (필수는 아님 C:\Users\myname\VirtualBox VMs).

  6. 가상 머신에서 사용할 수있는 메모리 양을 선택하십시오. 메모리가 너무 적 으면 가상 머신의 성능이 저하되고 메모리가 너무 많으면 호스트 시스템 (Windows)의 메모리가 부족하여 가상 머신 및 / 또는 다른 프로그램이 실행되므로 양의 균형을 맞추십시오. Windows에서 다시 실행하여 충돌합니다. 사용 가능한 메모리가 4GB 인 컴퓨터에서는 2GB가 적당했습니다. 잘못된 금액을 선택해도 걱정하지 마세요. 원할 때 언제든지 변경할 수 있습니다 (가상 머신이 실행중인 경우 제외).

  7. 하드 디스크 단계에서 "기존 가상 하드 디스크 파일 사용"을 선택하고 드롭 목록 오른쪽에있는 작은 폴더 아이콘을 클릭합니다. 그러면 새 창이 열립니다. 새 창에서 왼쪽 상단의 "추가"버튼을 클릭하면 찾아보기 창이 열립니다. 4 단계에서 다운로드하고 압축을 푼 VMDK 파일을 선택한 다음 "Choose"를 클릭합니다.

    이 작업을 마치면 "만들기"를 클릭합니다.

  8. 창 왼쪽에있는 목록에서 가상 머신을 선택하고 도구 모음에서 설정 버튼을 클릭합니다. 시스템-> 프로세서에서 2 개의 CPU를 선택합니다. Network-> Attached to에서 Bridged Adapter를 선택합니다. 나중에 문제를 일으키는 6 단계에서 메모리 양을 선택했음을 알게되면 시스템-> 마더 보드에서 변경할 수 있습니다. 설정 변경을 마쳤 으면 확인을 클릭합니다.

  9. 명령 프롬프트 ( C:\Windows\System32\cmd.exe)를 엽니 다 . 여기에서 다음 명령을 실행하여 "Your VM Name"5 단계에서 가상 머신을 호출 한 이름으로 바꿉니다 (예 "Mac":) (인용 부호 유지).

    cd "C:\Program Files\Oracle\VirtualBox\"
    VBoxManage.exe modifyvm "Your VM Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" C02L280HFMR7
  10. 이제 가상 머신을 사용할 준비가되었습니다. VirtualBox에서 시작 버튼을 클릭하고 Mac 용 설치 지침을 따릅니다. 가상 머신에 Mac을 설치하면 실제 Mac이있는 것처럼 iOS 앱을 개발할 수 있습니다.

비고 : 하드 디스크 공간을 절약하려면 4 단계에서 압축을 풀고 7 단계에서 사용한 VMDK 파일을 압축 할 수 있습니다. 이렇게하려면 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 고급 ... 오른쪽 하단의 버튼을 클릭하고 "디스크 공간을 절약하기 위해 내용을 압축"확인란을 선택합니다. 이렇게하면이 매우 큰 파일이 제대로 작동하지 않고 디스크 공간을 덜 차지하게됩니다. 내가 해냈고 데이터 손실없이 VMDK 파일의 디스크 크기를 50GB에서 40GB로 줄였습니다.


1
Vm은 잘 작동합니다. 하지만 게임 머신 인 내 컴퓨터에서는 매우 느립니다.
Reuel Ribeiro

@ReuelRibeiro 가상 머신의 구성을 확인하여 컴퓨터에 최적화되어 있는지 확인할 수 있습니다. 여기에 주제에 도움이 기사는 다음과 같습니다 hanselman.com/blog/...
Technoguyfication

2
9 단계에서 나는 VBoxManage의 setextradata "당신의 VM 이름" "추가 했어 VBoxInternal / 장치 / EFI / 0 / 구성 / DmiSystemSerial"W1234567980 내 애플 ID를 사용하여 로그인 할 수 얻기 위하여
ikleiman

1
이것이 작동 할 수 있지만 최신 xcode 버전은 현재 Google 드라이브에있는 IOS 10.11 (El Captain)과 호환되지 않습니다. 최신 버전의 MacOS가 있습니까?
CularBytes

1
@RahulShah 실제 Mac에서 할 수있는 모든 것을 할 수 있습니다.
Donald Duck

26

2017 년 9 월 업데이트

Mac을 소유하지 않고도 React Native + Expo 를 사용하여 iOS (및 Android 동시에) 애플리케이션을 개발할 수 있습니다 . 또한 개발하는 동안 iOS Expo 앱 내에서 iOS 애플리케이션을 실행할 수 있습니다. (다른 사람이 액세스 할 수 있도록 게시 할 수도 있지만 Expo 앱 내에서만 실행됩니다). 다음은 독립형 앱을 생성하는 방법에 대한 Expo의 페이지 입니다.

해당 페이지의 단계 :

One : exp실행하여 설치npm install -g exp

2 : app.json 구성 (다음 줄을 따라) :

{
   "expo": {
    "name": "Your App Name",
    "icon": "./path/to/your/app-icon.png",
    "version": "1.0.0",
    "slug": "your-app-slug",
    "sdkVersion": "17.0.0",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourappname"
    },
    "android": {
      "package": "com.yourcompany.yourappname"
    }
   }
 }

3 : exp패키지 시작exp start

4 : 실행 exp build:android또는 exp build:ios.

몇 가지 입력을 요구할 것입니다. 안드로이드의 1) Let Expo handle the process!경우 키 저장소가 없는지 (또는 그것이 무엇인지 모르는 경우) 선택할 수 있습니다 . iOS의 경우 Apple 개발자 자격 증명을 입력해야합니다. 그런 다음 배포 인증서를 제공하거나 엑스포가 처리하도록 할 수 있습니다.

5 : 가끔 돌아와서 exp build:status빌드가 완료되었는지 확인하기 위해 명령을 실행 해야합니다. 완료되면 직접 링크 .apk또는 .ipa파일 이 제공 됩니다.

단이 방법에 단점은 스위프트에 iOS 앱을 쓰기로 기본으로하지 않을 것입니다, 당신은 당신이 약하게 입력 JS, NPM으로 개발하는 동안으로 실행할 수있는 문제의 퍼레이드와 함께 넣어야 할 것, 그리고 그것의 dependency- 특정 버전의 다른 라이브러리 문제 및 기타 사항.


Qt 및 JavaFXPort와 같은 다른 프레임 워크에서도 가능합니까?
Daniel Ziltener

@DanielZiltener 나는 어느 쪽에도 익숙하지 않지만 대답은 아니오라고 생각합니다.
wha7ever


13

Phonegap (Cordova)을 사용하여 Mac없이 iOS 앱을 개발할 수 있지만 앱 스토어에 애플리케이션을 제출하려면 여전히 Mac이 필요하지 않습니다. Mac https://www.wenz.io/ApplicationLoader 없이도 앱을 게시 할 수있는 클라우드 애플리케이션을 개발했습니다 . 현재 베타 버전이며 서비스를 무료로 사용할 수 있습니다.

감사합니다, Steffen Wenz

(저는 사이트의 제작자입니다)


1
Wenz의 애플리케이션 로더를 사용합니다. 이를 위해 업로드 권한 만있는 특별한 Apple ID를 만들었습니다. IPA는 반드시 서명되어야하므로 비밀번호가 유출 되더라도 여전히 안전합니다.
user1219721

어쨌든 당신의 서비스에 제출하기 위해 맥없이 IPA 파일을 생성 할 수 있습니까?
모퉁이없는 그리드의 마름모 12 개


11

짧은 대답 : 이론적으로는 그렇습니다. 그러나 이것은 당신의 아주 좋은 친구 여야합니다.

TLDR : 앱 요구 사항, 개발 기술 및 Apple과의 운에 따라이 Mac이 정말 오랫동안 필요합니다. 예를 들면 :

  1. Xcode와 필요한 SDK 및 라이브러리를 설정하는 데 며칠이 걸릴 수 있습니다.
  2. 개발자 계정을 얻는 데 시간이 걸릴 수 있으며 때로는 요청 검토를 받기까지 너무 오래 기다릴 수 있습니다.
  3. 처음으로 신청서를 제출할 때 앱 검토를 받기 위해 언젠가, 최대 몇 주 또는 몇 달을 기다려야합니다.
  4. 앱이 거부 될 때마다 문제를 찾아 수정 한 다음 (Apple의 많은 도움없이, 위반 한 지침 규칙을 지적한 경우) 검토를 위해 앱을 다시 제출하고 다시 기다려야합니다.
  5. 이미 배포 된 앱에 패치를 적용하려고 할 때마다 앱을 검토해야하며 이전에 합법적 인 앱이 이제 새로운 지침을 위반할 가능성이 있으므로 다시 제출하고 기다리십시오.

내 경험상 iOS 앱 개발은 실제 코드 개발 시간을 고려하지 않고도 매우 긴 절차입니다. 그동안 Mac을 빌릴 수 있습니까?


나는 당신 감사합니다, 그래서 모두 당신과 다른 사람은 나를 위해 많은 것을 명확히 한
Cescy

1
천만에요. 경험이없는 개발자를위한 iOS 앱인 제가 보는 방식은 장기적이고 큰 헌신입니다. 먼저 $ 25 (평생 개발자 라이선스) 비용이 드는 Android 앱으로 시작할 수 있습니다.
yannicuLar 2013 년

4

또한 돈을 절약하고 싶다면 Mac을 사지 않아도됩니다. 이를 수행하는 다른 방법이 있습니다.

1.) 거의 모든 OS를 사용하여 가상 머신에서 최신 MacOS를 실행할 수 있습니다 (YouTube 참조). VMWare를 사용하는 Windows에서 문제없이이 방법을 정말 오랫동안 사용하고 있습니다.

2.) 해킨토시. PC에 MacOS를 설치합니다. 호환되는 구성 요소가 있어야하지만 가지고 있다면 이것이 최선의 방법입니다. VM의 지연을 없애기 때문입니다. 이번에는 이것을 사용하고 있습니다. 완전한. 제 노트북에서는이 사실을 Apple에 말하지 마십시오. 실제로 이것은 불법입니다.

3.) 최소한의 UI로 간단한 앱을 만드는 경우 Theos 를 사용할 수 있습니다 . 또한 Theos를 사용하면 cydia 조정을 만들 수 있습니다. 단 하나의 문제 : codesign. App Store에 앱을 게시하려면 여전히 MacOS가 있어야하지만 집에서 앱을 만들려면 CydiaImpactor 를 사용 하여 Apple ID로 앱에 서명 할 수 있습니다 .

나는이 모든 방법을 사용했고 모든 것이 작동하고있다. 내 VM은 Hackintosh를 설치하여 많은 시간을 소비하지 않으려는 경우 최상의 솔루션입니다.


2

Smartface를 사용하여 자바 스크립트로 앱을 개발하고 Mac없이 직접 매장에 배포 할 수 있습니다. 그들이 말하는 것은 아래에 있습니다.

Cloud Build 모듈을 통해 Smartface는 애플리케이션 배포의 모든 번거 로움을 제거합니다. 코드 서명 인증서를 관리하고 Mac에서 앱에 서명하는 것에 대해 걱정할 필요가 없습니다. Smartface Cloud는 모든 iOS 인증서와 Android 키 저장소를 한곳에 저장할 수 있으며 서명 및 구축은 완전히 클라우드에 있습니다. 어떤 운영 체제를 사용하든 스토어 용 (또는 엔터프라이즈 배포) 바이너리를 얻을 수 있습니다. Smartface를 사용하면 Mac에 대한 고정에서 벗어날 수 있으며 선호하는 운영 체제를 개발에 사용할 수 있습니다.

https://www.smartface.io/smartface/


2

React Native 및 Ionic과 같은 대부분의 프레임 워크를 사용하면 서버에서 빌드 할 수 있습니다. 즉, .ipa 파일을 컴파일하고 제공하는 데 도움이 될 수 있습니다.

문제는 앱을 Apple App Store Connect에 제출하려면 Xcode 또는 애플리케이션 로더가 필요하다는 것입니다. 둘 다 OSX에서만 사용할 수 있습니다. 이 솔루션을 극복하기 위해 내가 알고있는 두 가지 옵션이 있습니다.

  1. 가상으로 Mac을 대여하세요. http://www.macincloud.com
  2. 앱을 업로드하는 데 도움이되는 웹 사이트를 사용합니다 (.ipa 파일이 있어야 함). http://www.connectuploader.com

1

제 경험으로는 Ionic Pro ( https://ionicframework.com/pro )가 대부분의 개발 및 게시 작업을 수행 할 수 있지만 다음 단계에서 클라우드에 Mac 또는 Mac이 필요합니다.

  • .p12 인증 파일 생성
  • .ipa 파일을 App Store에 업로드

인증 파일을 생성 한 후 Ionic Pro에 업로드 할 수 있습니다. 클라우드에서 적절한 자격 증명으로 .ipa 파일을 빌드 할 수 있습니다. 하지만 안타깝게도 Mac의 Application Loader 만 사용하여 .ipa 파일을 App Store에 업로드하는 다른 방법을 찾지 못했습니다.

그래서 저는 Mac에서 보내는 시간이 매우 제한되어 있기 때문에 (앱 게시 당 몇 분) 클라우드 계정에서 종량제 Mac을 사용하기로 결정했습니다 (로그인 한 몇 분만 지불).


-7

XAMARIN CROSS 플랫폼

IDE Visual Studio와 교차 플랫폼 인 Xamarin을 사용하고 여기에 xamarin을 통합 할 수 있습니다. xamarin으로 코딩하고 C # 코드를 사용하여 iOS 앱을 만드는 것은 매우 간단합니다.


11
예,하지만 컴파일하려면 Mac이 필요합니다.
Maarten Peels
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.