เป้าหมายการปรับใช้หมายถึงอะไร


110

นี่เป็นคำถามง่ายๆที่ฉันคิด ใครช่วยบอกทีว่าเป้าหมายการปรับใช้หมายถึงอะไร ถ้าฉันเลือก IOS 10 หมายความว่ามีเพียงผู้ใช้ที่มี iOS 10 เท่านั้นที่สามารถดาวน์โหลดแอปได้ การเลือกเป้าหมายการปรับใช้ที่ต่ำกว่านั้นไม่ดีหรือไม่? นอกจากนี้ยังดำเนินการต่อตามเป้าหมายการปรับใช้ไม่แนะนำให้รันบนเป้าหมายการปรับใช้ที่ต่ำกว่า


1
ดูคำถามนี้: stackoverflow.com/questions/18568572/…
mlidal

คำตอบ:


152

สมมติว่าคุณได้กำหนดเป้าหมายการปรับใช้ขั้นต่ำเป็น iOS 9 ซึ่งหมายความว่าแอปพลิเคชันของคุณเข้ากันได้กับอุปกรณ์ iOS 9 ขึ้นไป

โปรแกรมจะไม่ทำงานในด้านล่าง 9.0 อุปกรณ์ แต่สามารถทำงานบน iOS เวอร์ชันใด ๆมากขึ้นกว่า iOS 9.0


ผู้ใช้ที่มีเวอร์ชันต่ำกว่าจะยังเห็นแอปอย่างน้อยที่สุดใน App Store ได้หรือไม่
Sagrian

2
@Sagrian ใช่พวกเขาทำได้ แต่มันจะแสดงให้พวกเขาเห็นว่ามันเข้ากันไม่ได้กับระบบปฏิบัติการของอุปกรณ์
FreakyAli

อะไรคือความแตกต่างระหว่าง Deployment target และ info? Xcode ให้เราเลือกรุ่น iOS ใน 2 ที่
Daniel Springer

การตั้งค่า @DanielSpringer ในDeployment Targetท้ายที่สุดจะเปลี่ยน Info.plist เป็นวิธีที่สะดวกที่เพิ่มเข้ามา (อาจ) หลังจาก Xcode 4.x
Naveed Abbas

@NaveedAbbas ฉันขอโทษ แต่ฉันไม่เข้าใจว่าคำตอบนั้นเป็นอย่างไร ทำไมต้องสองที่? แต่ละอย่างมีไว้เพื่ออะไร?
Daniel Springer

19

เป้าหมายการปรับใช้จะกำหนดความสามารถของแอปของคุณในการทำงานบน iOS เวอร์ชันเก่า

App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.

เมื่อรุ่นใหม่ของ iOS ของคุณจะถูกปล่อยออกบางคนไม่รำคาญที่จะปรับปรุงอุปกรณ์ของพวกเขาให้เป็นเวอร์ชั่นล่าสุด iOS can't download your app from the App Storeและทำให้พวกเขา

ตัวอย่าง

หากคุณเลือกเป้าหมายการปรับใช้ที่สูงขึ้น(e.g 12.1)แอปของคุณจะไม่สามารถดาวน์โหลดสำหรับผู้ที่มีอุปกรณ์รุ่นล่าสุด แต่มี iOS เวอร์ชันเก่ากว่า (iPhone X ที่มี 11.0) ในทางตรงกันข้ามหากคุณเลือกเป้าหมายการปรับใช้ที่ต่ำที่สุดเท่าที่จะเป็นไปได้(e.g 6.0)คุณพยายามทำให้แอปของคุณใช้งานร่วมกันได้แบบย้อนหลังสูงสุด (ดังนั้นแม้ว่าใครบางคนยังไม่ได้อัปเดต iOS ของพวกเขามาเป็นเวลานานก็สามารถดาวน์โหลดแอปของคุณได้)

ข้อควรระวัง

เฟรมเวิร์กและฟีเจอร์ที่ใหม่กว่า (เกือบทั้งหมด) จะไม่สามารถทำงานได้อย่างถูกต้อง (ปฏิบัติตามที่คาดไว้) ใน iOS เวอร์ชันที่ต่ำกว่าซึ่งจะเพิ่มโอกาสที่แอปจะล่ม

สิ่งที่ส่งผลต่อเป้าหมายการทำให้ใช้งานได้

ต่อไปนี้เป็นปัจจัยบางประการที่ต้องการเป้าหมายการปรับใช้ที่สูงขึ้น

1) ใช้ iOS SDK ล่าสุด (เพียงอย่างเดียว)

2) การใช้คุณลักษณะเฉพาะล่าสุดของ iOS SDK (ข้อ จำกัด ไฟล์ XIB ที่ใหม่กว่า ฯลฯ )

3) การใช้ไลบรารี / เฟรมเวิร์กภายนอกที่ปรับเปลี่ยนได้อย่างรวดเร็ว (เช่น Facebook SDK, Firebase เป็นต้น)

4) สวิฟท์รุ่นที่สูงกว่า (5.0) ต้องกำหนดเป้าหมายการใช้งานที่สูงขึ้นเทียบกับการเขียนแอปของคุณในมรดกวัตถุประสงค์ !Needs citationC)

วิธีการแก้

เราใช้Deploymateเพื่อการสนับสนุนย้อนหลังสูงสุด ส่วนใหญ่ช่วยเราเกี่ยวกับการเตือนสิ่งต่อไปนี้:

1) API ใหม่กว่าที่ใช้ไม่ได้กับ iOS เวอร์ชันต่ำกว่า

2) ใช้วิธีการเลิกใช้งานที่ใช้ไม่ได้กับ iOS เวอร์ชันใหม่กว่า

นี่คือตอนที่คุณเริ่มแก้ไขโค้ดของคุณเพื่อให้ใช้งานได้กับ iOS เวอร์ชันต่ำกว่าเพื่อความเข้ากันได้สูงสุด

หมายเหตุ: Xcode ยังแจ้งเกี่ยวกับข้อผิดพลาดหลายประการ Deploymate ไม่ได้เชื่อมโยงกับเราหรือจ่ายเงินให้เราในรูปแบบใด ๆ คุณสามารถมองหาทางเลือกอื่น ๆ


2

Deployment Targetเป็นเวอร์ชันขั้นต่ำของ iOS ที่เป้าหมายของคุณรองรับ

หมายความว่า:

  • ในฐานะนักพัฒนาคุณสนับสนุนเวอร์ชันนี้และคุณสามารถรองรับความเข้ากันได้ครั้งต่อไปทั้งหมด
  • ในฐานะผู้ใช้คุณควรมี iOS เวอร์ชันนี้เป็นอย่างน้อย

หากต้องการเปลี่ยนใน Xcode 11.5

Build Settings -> iOS Deployment Target

-4

หากคุณยังใหม่กับ Xcode ฉันขอแนะนำให้ยอมรับค่าเริ่มต้นและคิดว่าเป็นข้อ จำกัด ในโครงการของคุณ

เนื่องจาก Xcode มีเวอร์ชันใหม่กว่าการรองรับค่าเป้าหมายที่เก่ากว่าจะถูกลบออก บริษัท ที่มีฐานลูกค้ากว้างขวางต้องจัดการกับปัญหานี้ด้วยวิธีของตนเอง

ในโครงการส่วนใหญ่ที่ฉันเคยทำเวอร์ชัน iOS มีความสำคัญเนื่องจากเป็นตัวกำหนดว่าอุปกรณ์ใดสามารถเรียกใช้แอปพลิเคชันของคุณได้

ตัวอย่างเช่น iOS 10 มักจะทิ้งตัวเชื่อมต่อแบบ iPod ทั้งหมด


1
downvotes แต่ไม่มีความคิดเห็น ... ไม่เป็นประโยชน์ ... ฉันจะเพิ่มตอนนี้ iOS 13 ออกผ่าน Xcode 11 เป้าหมายเริ่มต้นจำนวนมากในโครงการเก่าต้องถูกย้ายขึ้น
benc

โหวตแล้ว: ข้อมูลที่เป็นประโยชน์“ จากสนามเพลาะ” จะเหมาะกว่าเป็นความคิดเห็น แต่อย่างไรก็ตาม
timmi4sa

ฉันอยากจะเป็นนักปฏิบัติที่มีตัวแทนที่ต่ำกว่าเล็กน้อย การเพิ่งเริ่มใช้ Xcode เป็นเรื่องที่ต้องทำความเข้าใจ
benc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.