ฉันได้ยินมาว่าคุณต้องได้รับ Mac ถ้าคุณต้องการพัฒนาแอพของ iPhone มันเป็นเรื่องจริงเหรอ?
เป็นไปได้หรือไม่ที่จะพัฒนาแอพ iPhone โดยใช้ Linux? ถ้าใช่ฉันต้องทำอะไรและฉันจะดาวน์โหลดเครื่องมือที่จำเป็นได้ที่ไหน?
ฉันได้ยินมาว่าคุณต้องได้รับ Mac ถ้าคุณต้องการพัฒนาแอพของ iPhone มันเป็นเรื่องจริงเหรอ?
เป็นไปได้หรือไม่ที่จะพัฒนาแอพ iPhone โดยใช้ Linux? ถ้าใช่ฉันต้องทำอะไรและฉันจะดาวน์โหลดเครื่องมือที่จำเป็นได้ที่ไหน?
คำตอบ:
เพื่อให้การตอบสนองที่แตกต่างกันฉันกำลังเรียกใช้ OS X และ Xcode บนเครื่องเสมือนจริง (VMware) บน Linux CPU เป็น Core2Quad (Q8800) และรวดเร็วอย่างสมบูรณ์แบบ ฉันพบ VM ออนไลน์ที่สร้างไว้ล่วงหน้า (ฉันจะปล่อยให้คุณค้นหา) การพัฒนา Xcode / iPhone ทำงานได้อย่างสมบูรณ์แบบเช่นเดียวกับการดีบักผ่าน USB ไปยังโทรศัพท์
มันทำให้ฉันประหลาดใจมาก - แต่ฉันก็ไม่มีปัญหาอะไรเลย
คำตอบนี้ขึ้นอยู่กับว่าคุณต้องการพัฒนาแอพที่เผยแพร่ผ่านร้านค้า iPhone หรือไม่ หากคุณทำไม่ได้และไม่สนใจที่จะพัฒนากลุ่มผู้ใช้ iPhone "jailbroken" - คุณสามารถพัฒนาจาก Linux ได้
ตรวจสอบหน้า chap นี้เพื่อดูคำแนะนำที่ครอบคลุม (ถ้าซับซ้อนเล็กน้อย) เกี่ยวกับสิ่งที่ต้องทำ:
มันดูเหมือนจะเป็นจริงจนถึงตอนนี้ SDK เดียวที่มีให้จาก Apple เท่านั้นกำหนดเป้าหมายสภาพแวดล้อม MacOS ฉันอารมณ์เสียเกี่ยวกับเรื่องนี้ แต่ฉันกำลังมองหาซื้อ mac ตอนนี้เพื่อทำการพัฒนา iPhone ฉันไม่ชอบสิ่งที่พวกเขากำลังทำและฉันหวังว่า SDK ที่ดีจะออกมาสำหรับสภาพแวดล้อมอื่น ๆ เช่น Linux และ Windows
อุปสรรคเกี่ยวกับ SDK:
SDK ของ iPhone และซอฟต์แวร์ฟรี: ไม่ตรงกัน
Apple เพิ่งเปิดตัวชุดพัฒนาซอฟต์แวร์ (SDK) สำหรับ iPhone แต่ถ้าคุณหวังที่จะย้ายหรือพัฒนาซอฟต์แวร์โอเพ่นซอร์สดั้งเดิมด้วยข่าวก็ไม่ดี เงื่อนไขการลงรหัสและการไม่เปิดเผยข้อมูลทำให้ซอฟต์แวร์ฟรีไม่ต้องไป
SDK เองนั้นเป็นการดาวน์โหลดฟรีซึ่งคุณสามารถเขียนโปรแกรมและเรียกใช้งานบนเครื่องจำลองซอฟต์แวร์ แต่เพื่อที่จะปล่อยซอฟต์แวร์ที่คุณเขียนจริงคุณต้องลงทะเบียนในโปรแกรม iPhone Developer ซึ่งเป็นขั้นตอนที่แยกต่างหากจากการดาวน์โหลด SDK และซอฟต์แวร์ที่ต้องได้รับการอนุมัติจาก Apple
ฉันคิดว่ามันค่อนข้างดีสำหรับพวกเขาที่จะคิดว่ามีเพียงผู้ใช้ macos ที่ดีพอที่จะเขียนโปรแกรมสำหรับโทรศัพท์ของพวกเขาและความจริงที่คุณต้องซื้อใบอนุญาต $ 100 หากคุณต้องการเผยแพร่เนื้อหาของคุณทำให้ยากขึ้นสำหรับโปรแกรมเมอร์มือสมัครเล่น แม้ว่าถ้านั่นคือสิ่งที่คุณต้องทำฉันวางแผนที่จะกระโดดผ่านห่วงของพวกเขา; ฉันอยากจะพัฒนาสิ่งต่าง ๆ บน iPhone ของฉัน
มีการใช้เป็นโครงการที่ทุ่มเทให้กับการแก้ปัญหาข้อบกพร่องนี้: iPhone-dev
เป้าหมายของโครงการ iphone-dev คือการสร้าง toolchain คุณภาพสูงฟรีพกพาเพื่อให้สามารถพัฒนาสำหรับ Apple iPhone และอุปกรณ์ฝังตัวอื่น ๆ ที่ใช้แพลตฟอร์ม ARM / ดาร์วิน
เกี่ยวกับเครื่องมือทางเลือกอื่นเว็บไซต์ของ Saurik นั้นมีประโยชน์ แต่สำหรับการพัฒนาเฟิร์มแวร์ล่าสุดเขาระบุว่าสร้างบน iPhone และยังคงชัดเจนว่าบ่งชี้ว่าคุณอาจจำเป็นต้องคัดลอกไฟล์เฟิร์มแวร์ iPhone ที่จำเป็นไปยังสภาพแวดล้อม Linux ของคุณ มันเป็นไปไม่ได้ แต่เพียงแค่ต้องการงานเพิ่มเติมโดยเฉพาะการเซ็นรหัส (มีโซลูชั่นทางเลือกแบบเปิดอยู่เช่นกัน)
นอกจากนี้ให้ดูที่คู่มืออื่น ๆ (สำหรับกลุ่มเครื่องมือเดียวกัน) ที่เข้าใกล้มันอย่างเป็นระบบมากกว่า
ฉันขอแนะนำให้ทำขั้นตอนสุดท้ายและการสร้างรหัสและบรรจุภัณฑ์ใน XCode (ซึ่งอาจหมายถึงการยืม Mac ของใครบางคน) ในกรณีที่คุณประสบปัญหาเมื่อส่งใบสมัครไปยัง Apple การใช้โซ่เครื่องมือทางเลือกเปิดขึ้น (อย่างน้อยใน Mac) ความเป็นไปได้ของการใช้ IDE อื่น ๆ นอกเหนือจาก XCode สำหรับการพัฒนาแอปพลิเคชันและหันไปใช้ XCode อีกครั้งสำหรับการปรับใช้และทดสอบด้วยเครื่องจำลอง
แน่นอนว่าถ้าคุณได้รับรหัสการรับรอง / การสร้างใบรับรองทำงานจากบรรทัดคำสั่งด้านนอกของ XCode คุณสามารถติดตั้งใบรับรองบน iPhone จริงของคุณและทดสอบที่นั่น (ติดตั้งแอพผ่าน iTunes พร้อมใบรับรองของคุณ)
วิธีเดียวที่ฉันรู้ในการพัฒนา Linux สำหรับ iPhone คือติดตั้ง Vmware และทำงานเพื่อให้ OS X ทำงานในเครื่องเสมือน ด้วยที่กล่าวว่ามีความกังวล "กฎหมาย" ในการทำเช่นนั้น มีรายงานว่า OS X Server สามารถจำลองเสมือนได้ แต่เท่าที่เรื่องราวการพัฒนาที่ฉันไม่รู้
หากคุณจริงจังอย่างแท้จริงนั่นคือสิ่งที่ฉันจะตรวจสอบ
โชคดี.
คุณอาจจะสามารถเขียนโค้ดบนกล่อง Linux ที่จะพบตัวเองในที่สุดบน iPhone หรือ iPad แต่ท้ายที่สุดคุณจะต้องมี Mac เพื่อทดสอบหรือปรับใช้รหัสกับ iPhone หรือส่งไปที่ App store ในที่สุดคุณก็ต้องมี Mac ดังนั้นคุณอาจทำงานบน Mac ได้เช่นกันด้วยเครื่องมือทั้งหมดที่ Apple จัดหาให้ มีทางเลือกให้กับ Xcode & Objective-C เช่น Monotouch - แต่สิ่งเหล่านี้ก็ใช้เครื่องมือของ Apple เช่นกัน
คุณสามารถใช้งาน OS X ใน VM บน Linux ได้ อย่างไรก็ตามฉันควรชี้ให้เห็นว่าสิ่งนี้จะเป็นการละเมิดข้อตกลงสิทธิ์การใช้งาน OSX แม้ว่าคุณจะซื้อสำเนา OSX - เนื่องจากได้รับอนุญาตให้ใช้งานบนฮาร์ดแวร์ Apple เท่านั้น
ขออภัยที่จะให้ข่าวนี้แก่คุณ - ระบบนิเวศรอบ ๆ iPhone / iPad นั้นมีการควบคุมอย่างเข้มงวด
แก้ไข: หนึ่งข้อยกเว้นที่สำคัญคือการเขียนเว็บแอพสำหรับ iPhone มีเว็บแอปที่ยอดเยี่ยมสำหรับ iPhone ซึ่งเกือบจะดีเท่ากับประสบการณ์ของผู้ใช้เหมือนกับแอปดั้งเดิม อย่างไรก็ตามฉันได้ตีความคำถามของคุณว่าเกี่ยวกับการพัฒนาแอปในประเทศ แอพพลิเคชั่นบนเว็บแม้ว่าผู้ใช้จะสามารถสร้างไอคอนเพื่อเปิดใช้งานได้ แต่ก็ยังคงเป็น 'ชนชั้นสอง'
ผมเคยประสบความสำเร็จสร้าง iOS ปพลิเคชันบน linux ใช้iOS เสียงดังกราว toolchain โดย cjacker โดยทั่วไปจะประกอบด้วยเครื่องมือ upstream clang และ llvm จาก linux distro ของคุณพอร์ต linux ของ linker ของ apple และเครื่องมือพิเศษบางอย่างเพื่อช่วยให้กระบวนการสร้างง่ายขึ้น (เช่นการแปลงโครงการ xcode เป็นรูปแบบ Makefile)
การติดตั้งใช้เวลาไม่กี่ขั้นตอน แต่คุณเป็นผู้พัฒนาซอฟต์แวร์ดังนั้นคุณจะคุ้นเคยกับสิ่งนั้น ฉันโพสต์ถึงวิธีการอัพเดตสำหรับ Debian 7 (Wheezy) ออนไลน์:
http://www.ninthavenue.com.au/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 ทั้งหมดนี้เป็นรหัสเดียวกัน คุณไม่จำเป็นต้องใช้รหัสใน Objective-C สำหรับ iPhone หรือ Java สำหรับ Android ฯลฯ มันเป็นการแปลงให้คุณ สิ่งที่คุณต้องทำคือทำตามกฎในการสร้างแอปพลิเคชั่น iPhone (หรือโทรศัพท์ที่คุณต้องการพัฒนา) เพื่อให้สามารถยอมรับได้ที่ iTunes (หรือตลาดที่เทียบเท่า)
นี่จะช่วยให้คุณเพิ่มแอพลงใน iTunes ได้เช่นกัน
ฉันไม่พบอีมูเลเตอร์ใด ๆ ซึ่งหมายความว่าในการทดสอบแอพของคุณคุณต้องวางไว้ใน iPhone ซึ่งเป็นภารกิจ
ฉันใช้ตัวเลือกนี้เพราะฉันต้องการสร้างแอพสำหรับโทรศัพท์ทั้งหมดและฉันใช้ Ruby on Rails อยู่แล้ว หากคุณต้องการสร้างแอพสำหรับ iPhone ให้ลงทุนใน Mac
หวังว่านี่จะช่วยได้
คุณถูกโทรศัพท์ที่ไม่ได้ถูกจำคุกจะถูก จำกัด ที่ App Store ของ Apple และ Apple "มีสิทธิ์" ในการบังคับใช้กฎอะไรก็ตาม อย่างไรก็ตามในขณะที่กำลังพัฒนาเราไม่จำเป็นต้องจัดการกับ Apple เลย คุณสามารถใช้เช่น rsync เพื่ออัปโหลดรหัสไปยังอุปกรณ์และทดสอบ
ในระดับหนึ่งใช่มันเป็นไปได้ คุณสามารถพิมพ์รหัส Objective-C และตั้งค่าโครงการของคุณ คุณสามารถทดสอบส่วน C และ C ++ ของรหัสของคุณด้วย gcc
สิ่งที่คุณไม่สามารถทำได้:
คุณต้องได้รับ mac สำหรับมัน มีกลุ่มเครื่องมือมากมาย (เช่น win-chain) ที่ให้คุณเขียนและสร้างแอพพลิเคชั่น i Phone บน windows มีแบบฝึกหัดที่เกี่ยวข้องหลายอย่างเพื่อสร้างรหัส Objective C บน Windows แต่มีปัญหาปพลิเคชันที่พัฒนาขึ้นจึงจะทำงานบนคุกโทรศัพท์ฉันเสียเท่านั้น
เราได้เห็นแฮ็กจำนวนน้อยเพื่อรับสิ่งนั้นและไปที่ App Store แต่ในขณะที่ Apple ทำการอัปเดต SDK อยู่ตลอดเวลากลุ่มเครื่องมือจำเป็นต้องได้รับการอัปเดตเป็นประจำ มันเป็นเรื่องยุ่งยากที่จะทำมันตลอดเวลาถ้าคุณต้องการแอพที่พร้อมคุณยังสามารถรับความช่วยเหลือจาก arcapps ที่จะเปิดตัวแอพในราคาที่เหมาะสม การพัฒนาแอพ iphone
ฉันขอแนะนำให้ใช้ mac เพราะเครื่องจำลอง iOS เป็นสิ่งมหัศจรรย์สำหรับการทดสอบในระยะแรกของแอพ แต่ฉันรู้ว่า บริษัท เล็ก ๆ ที่เราทำงานด้วยนั้นพัฒนาโดยใช้ Unity ดังนั้นพวกเขาจึงไม่จำเป็นต้องโหลดแม็ค ด้วยวิธีนี้พวกเขาต้องการเพียง Mac เดียวสำหรับสำนักงานและนั่นเป็นเพียงการรวบรวมโครงสร้างขั้นสุดท้าย นอกจากนี้ยังหมายความว่ามันใช้งานได้กับ Android แต่ขึ้นอยู่กับว่าอาคารของคุณเป็นอะไรเพราะเป็นเอ็นจิ้นเกม คุณอาจต้องการค้นหาเว็บแอปโดยใช้เฟรมเวิร์กเช่น Sencha Touch Mobile
ความสามัคคี: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
หากคุณให้ความสำคัญกับเวลาของคุณซื้อ Mac! ฉันไม่รู้พอเกี่ยวกับตัวเลือกการพัฒนา Linux เพื่อเสนอวิธีแก้ปัญหาที่ใช้ได้จริง แต่ดูเหมือนว่าวิธีการที่เสนอนั้นเกี่ยวข้องกับการทำงานวงเวียนสวย ๆ หากคุณวางแผนที่จะเขียนและขายแอพ iPhone อย่างจริงจังฉันคิดว่าคุณสามารถชดเชยค่าใช้จ่ายของ Mac Mini หรือ Macbook ได้อย่างง่ายดาย :-)
คุณจะไม่ได้รับการอนุมัติแอปจาก Apple หากไม่ได้พัฒนาโดยใช้ Xcode ไม่เคย และถ้าคุณแฮก SDK เพื่อพัฒนาบน Linux และ Apple คุณจะไม่ต้องแปลกใจเมื่อคุณได้รับบริการ ฉันเป็นสมาชิกของ ADC และโปรแกรมผู้พัฒนา iPhone ความน่าเชื่อถือ Apple มีความสำคัญอย่างมากเกี่ยวกับเรื่องนี้
อย่ารับความเสี่ยงซื้อ Macbook หรือ Mac mini (ใช่มินิสามารถเรียกใช้ Xcode - แม้ว่าช้า - เพิ่ม RAM ถ้าคุณไปกับมินิ) นอกจากนี้ในขณะที่ฉันเคยเห็น OS X แฮ็คเพื่อให้ทำงานบน VMware ฉันไม่เคยเห็นใครใช้ Xcode บน VM โชคดีมาก และฉันจะตรวจสอบ EULA ก่อนที่คุณจะเจอปัญหา
PS: หลังจากอ่านข้างต้นใช่ฉันเห็นด้วยถ้าคุณแฮ็ค SDK และพัฒนาบน Linux อย่างน้อยก็ทำแพ็คเกจสุดท้ายบน Mac และส่งผ่าน Mac Apple ไม่เรียกใช้โค้ดต่อบรรทัดดังนั้นฉันสงสัยว่าพวกมันจะจับได้ แต่ผู้ชายนั่นเป็นจำนวนมากถ้าเป็นและทำงาน ขอให้สนุกกับการทำ :)