Apple पारंपरिक संपत्ति-सूची-आधारित प्रारूप की जगह, Xcode प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइलों के लिए एक नया JSON-आधारित प्रारूप पेश कर रहा है। Xcode 27.2 में उपलब्ध, नए डिज़ाइन का उद्देश्य पठनीयता में सुधार करना, रखरखाव को सरल बनाना और AI कोडिंग एजेंटों के लिए प्रोजेक्ट आर्किटेक्चर को समझना और संशोधित करना आसान बनाना है।
खुला स्रोत JSON फ़ाइल स्वरूप (
xcode-project-format) जब आप प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइल को अपने स्रोत कोड रिपॉजिटरी में सबमिट करते हैं तो प्रोजेक्ट कॉन्फ़िगरेशन परिवर्तनों को सत्यापित करना आसान हो जाता है, क्योंकि तुलना दृश्य में परिवर्तन Xcode में आपके कार्यों के अनुरूप होते हैं।
नए डिज़ाइन का एक प्रमुख लाभ यह है कि यह प्रोजेक्ट आर्किटेक्चर का अधिक सुसंगत और पूर्वानुमानित प्रतिनिधित्व प्रदान करके मर्ज संघर्ष की संभावना को कम करता है। JSON प्रारूप प्रोजेक्ट आर्किटेक्चर को AI कोडिंग एजेंटों सहित स्वचालित विकास टूल के लिए अधिक सुलभ बनाता है, जो प्रोजेक्ट सिस्टम के निरीक्षण और संशोधन की सुविधा प्रदान करता है।
डेवलपर्स को नए प्रारूप के साथ काम करने में मदद करने के लिए, Apple ने नए प्रारूप को एन्कोडिंग और डिकोड करने के लिए स्विफ्ट पैकेज भी जारी किया है। उदाहरण के लिए, आप योजना में परिभाषित सभी लक्ष्यों को इस प्रकार सूचीबद्ध करते हैं:
import XcodeProjectFormat
func listTargets(in projectURL: URL) throws {
let projectData = try Data(contentsOf: projectURL)
let project = try XCSchema.Project(jsonRepresentation: projectData)
for target in project.targets {
print(target.name)
}
}
शीर्ष स्तर पर, JSON स्कीमा न केवल लक्ष्यों को परिभाषित करता है, बल्कि फ़ाइल ट्री, संरचनाओं का निर्माण, संरचनाओं का निर्माण और बाहरी निर्भरता को भी परिभाषित करता है। यह विभिन्न उपवृक्षों में नोड्स के बीच संबंधों का भी समर्थन करता है। उदाहरण के लिए, एक फ़ाइल निर्माण चरणों और उन लक्ष्यों को निर्दिष्ट करती है जिन पर वह निर्भर करती है। महत्वपूर्ण रूप से, पैटर्न जहां संभव हो वहां अपारदर्शी पहचानकर्ताओं से बचते हैं, इसके बजाय मानव-पठनीय नामों और पथों का समर्थन करते हैं। लक्ष्य और निर्मित उत्पाद उल्लेखनीय अपवाद हैं क्योंकि वे बाहरी फ़ाइलों के संदर्भों का समर्थन करने के लिए पहचानकर्ताओं का उपयोग करते हैं।
घोषणा पर टिप्पणी करते हुए, वरिष्ठ iOS डेवलपर निकिता डायचकोव ने कहा कि
प्रोजेक्ट फ़ाइलों को मर्ज करने की समस्या प्रोजेक्ट फ़ाइलों की शुरुआत के बाद से काफी समय से है, और इससे कोई भी व्यक्ति परिचित है जिसने एक से अधिक डेवलपर के साथ iOS डेवलपमेंट टीम में काम किया है।
इसी सूत्र में, वरिष्ठ आईओएस इंजीनियर कुशल जालानी ने नए, अधिक पठनीय प्रारूप को “जीवन की गुणवत्ता में भारी सुधार” के रूप में वर्णित किया। अन्य लोगों ने इस भावना को प्रतिध्वनित किया कि परिवर्तन लंबे समय से लंबित था, वरिष्ठ आईओएस डेवलपर मौमिता चीन ने कहा कि इससे “वर्षों के एकीकरण संघर्ष” को बचाया जा सकता था।
मौजूदा प्रोजेक्ट को आसानी से माइग्रेट किया जा सकता है क्योंकि नया प्रारूप केवल प्रोजेक्ट को डिस्क पर प्रदर्शित करने के तरीके को बदलता है, इसके अंतर्निहित मॉडल को नहीं। योजना बदलने से परंपरा बदल जाती है project.pbxproj के साथ फ़ाइल करें project.xcproj. हालाँकि, माइग्रेट करने से पहले, सुनिश्चित करें कि आपके द्वारा उपयोग किए जाने वाले फास्टलेन, कोकोबोट्स, ट्विस्ट और अन्य उपकरण नए प्रारूप का समर्थन करते हैं।