আপনি .xcscheme ফাইলের সাথে অবশ্যই সঠিক পথে রয়েছেন - নিজের প্রকল্পগুলি স্থাপন করার সময় আমার এই সমস্যাটি উপস্থিত হয়েছিল!
উত্তরসূরীদের জন্য, বা কমপক্ষে যে কেউ অনুসন্ধান থেকে এখানে আসছেন, এখানে দুটি জিনিসের সংস্করণ রয়েছে - "আমি ব্যস্ত, সুতরাং কেবলমাত্র ঘটনাগুলি দয়া করে" সংস্করণ এবং আরও জড়িত আলোচনা এবং যুক্তি। এই উভয় সংস্করণ ধরেই নেওয়া হয়েছে যে আপনি একটি ওয়ার্কস্পেস ফাইল থেকে তৈরি করার চেষ্টা করছেন; আপনি যদি আমার ক্ষমা না চান তবে এটি বেশিরভাগ ওয়ার্কস্পেস-ভিত্তিক প্রকল্পগুলির জন্য প্রযোজ্য।
সংশ্লেষিত 'ফিক্স-ইট' সংস্করণ
মূল কারণ হ'ল স্কিমগুলির ডিফল্ট আচরণ হ'ল স্কিমগুলিকে 'ব্যক্তিগত' রাখা যতক্ষণ না সেগুলি নির্দিষ্টভাবে ভাগ করা হিসাবে চিহ্নিত করা হয়। কমান্ড-লাইনটি শুরু করা বিল্ডের ক্ষেত্রে, এক্সকোড ইউআই কখনও চলবে না এবং এক্সকোডারুন সরঞ্জামটির সাথে কাজ করার জন্য স্কিমগুলির নিজস্ব ক্যাশে নেই। লক্ষ্যটি হ'ল বাঁশটি যে পরিকল্পনাটি চালাতে চান তা উত্পন্ন করা, ভাগ করা এবং প্রতিশ্রুতিবদ্ধ:
- কোডটির একটি পরিষ্কার ওয়ার্কিং কপির উপর আপনার প্রকল্পের কর্মক্ষেত্রটি খুলুন।
- প্রোডাক্ট মেনু থেকে স্কিম> স্কিমগুলি পরিচালনা করুন ... চয়ন করুন।
- প্রকল্পের জন্য সংজ্ঞায়িত স্কিমগুলির তালিকা উপস্থিত হয়।
- স্কিমটি সনাক্ত করুন বাঁশটি চালানোর চেষ্টা করছে
- নিশ্চিত করুন যে 'ভাগ করা' বাক্সটি সেই স্কিমের জন্য চেক করা আছে এবং 'কনটেইনার' সেটিংসটি ওয়ার্কস্পেসে সেট করা আছে এবং প্রকল্প ফাইল নিজেই নয়।
- পরিচালনা স্কিমস শীটটি খারিজ করতে 'ওকে' ক্লিক করুন।
- ওয়ার্কস্পেসনেম.এক্সক্রেসস্পেস / এক্সসিএসরেডডেটা / এক্সসি স্কেমে আপনার প্রকল্পে একটি নতুন .xcscheme ফাইল তৈরি করা হয়েছে।
- এই ফাইলটি আপনার ভাণ্ডারগুলিতে প্রতিশ্রুতিবদ্ধ করুন এবং একটি বাঁশের বিল্ড পরিচালনা করুন।
গভীর আলোচনা এবং যুক্তিযুক্ত
এক্সকোড 4 ওয়ার্কস্পেস এবং স্কিমগুলি তারের সাথে সম্পর্কিত এক্সকোড প্রকল্পগুলির যান্ত্রিকতার সাথে সম্পর্কিত, লক্ষ্যমাত্রা তৈরি এবং একসাথে কনফিগারেশন তৈরির অন্তর্নিহিত কিছু বিশৃঙ্খলা নিয়ন্ত্রণ করার চেষ্টা করার জন্য সহায়তা করার একটি উপায় হিসাবে পরিচয় করিয়েছিল। ওয়ার্কস্পেসের নিজস্ব কনফিগারেশন ডেটা রয়েছে যা এতে থাকা প্রতিটি ছোট ছোট 'বাক্স' বর্ণনা করে এবং .xcodeproj ফাইল সংযুক্ত করার জন্য একটি কঙ্কাল হিসাবে কাজ করে এবং ভাগ করা কনফিগারেশন ডেটার একটি সেট যা প্রতিটি বিকাশকারী মেশিন বা সিআই সিস্টেমের সাথে মিরর হয়ে যায় gets । এটি ওয়ার্কস্পেসের শক্তি এবং প্রবণতা উভয়ই - এখানে 1 টি প্রচুর উপায় রয়েছে যাতে কোনও জিনিস 100% সঠিকভাবে কনফিগার করা যায় তবে ভুল ধারক বা 2) সঠিক ধারকটিতে রেখে দেওয়া হয় তবে ভুলভাবে কনফিগার করা হয়েছে এইভাবে ডেটা রেন্ডারিং সিস্টেমের অন্যান্য অংশে অ্যাক্সেসযোগ্য!
এক্সকোড 4 স্কিমগুলির ডিফল্ট আচরণ হ'ল প্রকল্পগুলি ওয়ার্কস্পেস ফাইলটিতে যুক্ত হওয়ায় স্বয়ংক্রিয়ভাবে নতুন স্কিম তৈরি করা। আপনারা যারা বেশ কয়েকটি .xcodeproj ফাইল যুক্ত করেছেন তারা লক্ষ্য করেছেন যে আপনার স্কিমের তালিকাটি দ্রুত অপ্রত্যাশিত হয়ে উঠেছে বিশেষত প্রকল্প ফাইলগুলি যুক্ত হওয়ার পরে, অপসারণ করা হয়েছে এবং তারপরে একই ওয়ার্কস্পেসে সংযোজন করা হবে। .Xcuserdata ফাইলগুলি প্রকল্পের ডেটা এবং কনফিগারেশনের সাথে প্রতিশ্রুতিবদ্ধ থাকা সত্ত্বেও সমস্ত স্কিম, স্বয়ংক্রিয় জেনারেটেড বা ম্যানুয়ালি তৈরি হওয়া, কেবলমাত্র 'ব্যক্তিগত' স্কিম হিসাবে কেবলমাত্র বর্তমান ব্যবহারকারীর কাছে দৃশ্যমান তা ডিফল্ট। এটি সেই ক্রিপ্টিক বিল্ড ত্রুটির মূল কারণ, বাঁশটি এক্সকোডবিল্ড থেকে রিপোর্ট করেছে - যেহেতু বাঁশ কমান্ড লাইনের মাধ্যমে বিল্ডটি পরিচালনা করে এবং এক্সকোড ইউআই নয়, এতে স্কিমগুলির স্বয়ংক্রিয়ভাবে উত্পন্ন হওয়ার সুযোগ নেই এবং কেবল এটির উপর নির্ভর করে কর্মক্ষেত্রে নিজেই সংজ্ঞায়িত করা হয়।
xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyApplication -configuration Debug
এক্সকোডবিল্ড <'ওয়ার্কস্পেস' প্যারামিটার মান> / xcshareddata / xcschemes এ বিদ্যমান <<স্কিম 'প্যারামিটার মান> .xcscheme ফাইল অনুসন্ধান করছে।
স্পষ্টতই এমন অনেকগুলি উপায় রয়েছে যাতে কোনও একটি বাঁশ এবং একটি কর্মক্ষেত্র উভয়কেই কনফিগার করতে পারে, তাই মনে রাখবেন যে আপনার অনন্য কনফিগারেশনটি এখানে উপস্থাপিত থেকে 100% মানচিত্র তৈরি করতে পারে না। মূল গ্রহণযোগ্যতা:
- এক্সকোড ইউআই ম্যাজিক্যালি যত্ন নিয়ে থাকে এমন কয়েকটি স্বয়ংক্রিয় কাজ এক্সকোডবিল্ড সি এল এলির মাধ্যমে উপলভ্য নয়।
- আপনি 'ধারক শ্রেণিবিন্যাসের' অনেক জায়গায় স্কিম সংযুক্ত করতে এবং কনফিগারেশন ডেটা তৈরি করতে পারেন - নিশ্চিত করুন যে আপনার ডেটাটি সঠিক পাত্রে বয়ে চলেছে (ওয়ার্কস্পেস, প্রকল্প, এবং / অথবা বিল্ড টার্গেট)
- কনটেইনার হায়ারার্কিতে যেখানে xcodebuild সরঞ্জামটি কনফিগারেশন ডেটার সন্ধান করতে পারে তা বিবেচনা করুন; এটি কোথায় অনুসন্ধান শুরু করবে তার দুর্দান্ত সূচক '-ওয়ার্কস্পেস' বা '-প্রজেক্ট' যুক্তি ব্যবহারের উপর ভিত্তি করে।
'শেয়ারড' বক্সটি ইতিমধ্যে চেক করা হয়েছে ... এখন কী?
আমি আমার নিজের বাঁশের উদাহরণে এই একই সমস্যার মুখোমুখি হয়েছি; এটি প্রমাণিত হয়েছিল যে আমার সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ স্কিমটি পুরানো এবং কমান্ড লাইন সরঞ্জামগুলির সর্বশেষতম সংস্করণটি এটিকে নিখুঁতভাবে পরিচালনা করছে না। এটি যেহেতু এর আগে বিদ্যমান ছিল, তাই আমি এই পরিকল্পনাটি সুনির্দিষ্টভাবে কাস্টমস নেই কিনা তা নিশ্চিত করার জন্য সেটিংসটি একবার দেখেছিলাম এবং স্কিমটি মুছে ফেলা এবং পুনরায় তৈরি করেছি যাতে নিশ্চিত হয়ে যায় যে আমি এটিকে 'ভাগ করে নেওয়া' হিসাবে চিহ্নিত করেছি এবং নতুন .xcscheme ফাইলটিকে পুনরায় জমা দিয়েছি সংগ্রহস্থল।
যদি সবকিছু দেখতে ভাল লাগে এবং এটি পুনর্নির্মাণটি সমস্যার সমাধান না করে, তবে ধারক সেটিংটি ডাবল পরীক্ষা করে দেখুন - এই স্কিমটি স্তরবিন্যাসের ভুল ধারকটির সাথে সংযুক্ত করা সত্যিই সহজ!