ถ้าฉันตั้ง SDK พื้นฐานเป็น 7 มันหมายความว่าอย่างไร อาจหมายความว่าแอปจะทำงานบน iOS 7 แต่นั่นคือเป้าหมายการปรับใช้ของ iOS
อีกทั้งทำไมฉันจึงระบุค่าทั้งสามในโครงการและเป้าหมาย มันไม่สมเหตุสมผล ทำไมต้องระบุสิ่งเดียวกันสองครั้ง
ถ้าฉันตั้ง SDK พื้นฐานเป็น 7 มันหมายความว่าอย่างไร อาจหมายความว่าแอปจะทำงานบน iOS 7 แต่นั่นคือเป้าหมายการปรับใช้ของ iOS
อีกทั้งทำไมฉันจึงระบุค่าทั้งสามในโครงการและเป้าหมาย มันไม่สมเหตุสมผล ทำไมต้องระบุสิ่งเดียวกันสองครั้ง
คำตอบ:
SDK พื้นฐานคือสิ่งที่คุณสร้างแอปของคุณ (เช่น include และไฟล์ไลบรารีและกรอบงาน) อย่างที่คุณพูดมันจะไม่ส่งผลต่อเป้าหมายการปรับใช้ยกเว้นฐาน sdk> = เป้าหมายการปรับใช้
คุณระบุการตั้งค่าบิลด์ใน 2 ระดับเนื่องจากแต่ละโปรเจ็กต์สามารถมีหลายเป้าหมายและคุณอาจไม่ต้องการการตั้งค่าเดียวกันสำหรับเป้าหมายทั้งหมด การตั้งค่าระดับโครงการจะแทนที่การตั้งค่าเริ่มต้นและการตั้งค่าระดับเป้าหมายจะแทนที่การตั้งค่าระดับโครงการ
ตัวอย่างเช่นฉันมีโครงการที่มีทั้งเป้าหมาย OSX และ iOS และบางโครงการเป็น ARC และบางโครงการเป็น MRR ฉันจะต้องมีโครงการที่แตกต่างกันสำหรับแต่ละถ้าฉันไม่สามารถระบุการตั้งค่าการสร้างด้วยระดับของความละเอียดที่ Xcode อนุญาต
ในiOS 7 TechTalkเซสชั่น Architecting Modern Apps ส่วนที่ 2 พวกเขาอธิบายสิ่งนี้อย่างชัดเจน
ดีอ่านสวัสดี! ฉันว่าง!
ดังนั้นแอพที่ทันสมัยอาจใช้ iOS 9 เป็น Target SDK และ iOS 7 เป็นเป้าหมายการปรับใช้ ซึ่งหมายความว่าคุณสามารถทำงานบน iOS 7, iOS 8 และ iOS 9 และคุณสามารถใช้การโทร iOS 9 ได้ทุกเมื่อเมื่อทำงานบน iOS 9
คุณสามารถอ่านเพิ่มเติมได้ในโพสต์SDK และเป้าหมายการปรับใช้ของฉัน
SDK พื้นฐานคือ SDK ที่คุณเชื่อมโยง เป้าหมายการปรับใช้เป็นเวอร์ชัน iOS ขั้นต่ำที่คุณต้องใช้ในการทำงาน คุณสามารถสร้างแอปพลิเคชันด้วย SDK 7 ที่ทำงานภายใต้ iOS 6 แต่คุณต้องระมัดระวังไม่ใช้ฟังก์ชั่นหรือวิธีการที่ไม่สามารถใช้ได้กับ iOS 6 หากคุณทำเช่นนั้นแอปพลิเคชันของคุณจะทำงานล้มเหลวบน iOS 6 ทันที ฟังก์ชั่นนี้ใช้
ดูเอกสารประกอบของ Apple สำหรับรายละเอียดเพิ่มเติม: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html