আমি কীভাবে কোনও প্রকল্পের একক ফাইলের জন্য এআরসি অক্ষম করতে পারি?


1341

আমি আমার প্রকল্পে সফলভাবে এআরসি ব্যবহার করছি। যাইহোক, আমি কয়েকটি ফাইলের মুখোমুখি হয়েছি (উদাঃ ইউনিট টেস্ট এবং মক অবজেক্টে) যেখানে এআরসির নিয়মগুলি এখনই কিছুটা ভঙ্গুর। আমি শুনলাম যে প্রতি ফাইলের ভিত্তিতে এআরসি নিষ্ক্রিয় করার একটি উপায় ছিল, আমি এই বিকল্পটি সন্ধান করতে না পেরে স্মরণ করি।

এটা কি সম্ভব? আমি প্রতি ফাইলের ভিত্তিতে কীভাবে এআরসি অক্ষম করব?


উত্তর:


2167

-fno-objc-arcএই ফাইলগুলির জন্য সংকলক পতাকা যুক্ত করে পৃথক ফাইলগুলির জন্য আরসি অক্ষম করা সম্ভব ।

আপনি লক্ষ্যগুলি -> বিল্ড পর্যায়সমূহ -> সংকলন উত্সগুলিতে সংকলক পতাকা যুক্ত করুন। সংকলক পতাকাগুলির অধীনে আপনাকে সারির ডান কলামে ডাবল ক্লিক করতে হবে । আপনি ফাইলগুলি নির্বাচন করতে সিএমডি বোতামটি ধরে রেখে ফ্ল্যাগ সম্পাদনা বাক্সটি আনতে এন্টার টিপে একাধিক ফাইলে যুক্ত করতে পারেন। (নোট করুন যে একাধিক ফাইল সম্পাদনা করা এর মধ্যে ইতিমধ্যে থাকা যে কোনও পতাকা ওভাররাইট করে)

আমি একটি নমুনা প্রকল্প তৈরি করেছি যার উদাহরণ রয়েছে: https://github.com/jaminguy/NoArc

Xcode

আরও তথ্যের জন্য এই উত্তরটি দেখুন: কিছু ফাইলের জন্য স্বয়ংক্রিয় রেফারেন্স গণনা অক্ষম করুন


57
সুতরাং, এই পতাকা যুক্ত করার জায়গাটি খুব স্বজ্ঞাত নয়। তবে, এক্সকোড ৪-এ, বিল্ড পর্যায়সমূহে, এবং উত্সগুলি সংকলন করে, সেখানে আসলে দুটি কলাম রয়েছে। ফাইলের নামের জন্য একটি এবং অন্য একটি ফাইলের জন্য পতাকা সংকলন করার জন্য। আপনি এই নির্দিষ্ট সংকলক পতাকাটি প্রবেশ করাই এখানে।
কাসাদেমোরা

3
আপনি কি কোনও ডিরেক্টরিতে, অর্থাৎ কোনও ডিরেক্টরিতে সমস্ত ফাইলের জন্য নির্দিষ্ট করতে পারেন? একটি গ্রুপ সম্পর্কে কি?
ma11hew28

4
কোনও ডিরেক্টরি নেই। বিল্ড সেটিংসে একবারে কেবল একটি একক ফাইল :(
কাসাদেমোরা

13
@ ক্যাসাডেমোরা আপনি এই টুকরো তথ্যের জন্য পর্যাপ্ত পরিমাণ পেতে পারবেন না। ধন্যবাদ.
TheTRON

26
@ ক্যাসাদেমোড়া আপনি একবারে একাধিক ফাইল নির্বাচন করতে পারেন - তবে ডাবল ক্লিক না করে রিটার্নে চাপুন। তারপরে এটি যুক্ত করুন -fno-objc-arcএবং এটি সমস্ত নির্বাচিত ফাইলগুলিতে যুক্ত করা হবে। সম্পাদনা কেবল
এইটির

460

অক্ষম এআরসি উপর একাধিক ফাইল:

  1. এক্সকোডে টার্গেট / বিল্ড পর্যায় / সংকলন উত্সগুলিতে কাঙ্ক্ষিত ফাইলগুলি নির্বাচন করুন
  2. এন্টার চাপুন
  3. টাইপ করুন -fno-objc-arc
  4. এন্টার বা সম্পন্ন টিপুন

;)

এখানে চিত্র বর্ণনা লিখুন


2
ধন্যবাদ! দীর্ঘকাল এই বৈশিষ্ট্যটি সন্ধান করা হয়েছে। একাধিক সারি নির্বাচন করা হলে ডাবল-ক্লিক করা কাজ করে না, তবে এন্টার টিপে কাজ করে না। খুব অদ্ভুত.
ববমফ

4
কি শান্তি. আমি আমার সমস্ত কর্ম আবার এটি upvote ব্যয় করব। ভাগ করে নেওয়ার জন্য ধন্যবাদ!
জেমমনস

এটি Xcode 4.3.3 এ আর কাজ করে না বলে মনে হচ্ছে। নির্বাচিত ফাইলগুলিতে ডাবল ক্লিক বা এন্টার টিপুন -fno-ojbc-arc পতাকা লাগানোর জন্য ডায়ালগটি আনতে পারে না, কারও কি এর জন্য কার্যনির্বাহী কাজ রয়েছে?
টম

আমার 4.3.3 এবং এখন 4.4 ডিপি 7 ছিল এবং এটি এখনও ঠিক কাজ করে। এক্সকোড পুনরায় চালু করার চেষ্টা করুন, মেশিন পুনরায় আরম্ভ করার অনুমতিগুলি মেরামত করুন।
তিবিডাবো

44

এক্সকোড ৪.৩-এর পক্ষে সহজ উপায় হতে পারে: সম্পাদনা / রিফ্যাক্টর / উদ্দেশ্য-সি এআরসিতে রূপান্তর করুন, তারপরে আপনি যে ফাইলগুলি রূপান্তর করতে চান না তা পরীক্ষা করে দেখুন check উপরের সংকলক পতাকা ব্যবহার করার মতোই আমি এইভাবে পাই।


36

স্বতন্ত্র ফাইলটিকে নন-অর্ক বানানোর খুব সহজ উপায়।

নীচের পদক্ষেপগুলি অনুসরণ করুন:

পৃথক ফাইলে আরসি অক্ষম করুন:

  1. এক্সকোডে টার্গেট / বিল্ড পর্যায় / সংকলন উত্সগুলিতে কাঙ্ক্ষিত ফাইলগুলি নির্বাচন করুন

  2. আপনি এটি তৈরি করতে চান। এম ফাইল নির্বাচন করুন নন-আর্ক প্রেস প্রেস এন্টার প্রকার -ফ্নো-আপত্তি-আর্ক

এআরসি প্রকল্পের পতাকায় নন এআরসি ফাইল: -fno-objc-arc

এআরসি ফাইলটি নন এআরসি প্রকল্পের পতাকাটিতে: -fobjc-arc


35

দ্রষ্টব্য: আপনি যদি অনেকগুলি ফাইলের জন্য আরসি অক্ষম করতে চান তবে আপনাকে এগুলি করতে হবে:

  1. "বিল্ড পর্যায়গুলি" খুলুন -> "উত্স সংকলন করুন"
  2. সঙ্গে ফাইল নির্বাচন "left_mouse," + "cmd কমান্ড" (পৃথক ফাইলে) অথবা "শিফট" (দলবদ্ধ ফাইলের জন্য - প্রথম এবং শেষ নির্বাচন করুন)
  3. এন্টার চাপুন"
  4. পেস্ট করুন -fno-objc-arc
  5. আবার "enter" টিপুন
  6. লাভ!


13
  1. এক্সকোড প্রকল্প নির্বাচন করুন
  2. লক্ষ্যগুলিতে যান
  3. বিল্ড পর্যায়সমূহ বিভাগটি নির্বাচন করুন
  4. বিল্ড পর্যায়ের বিভাগের অভ্যন্তরে সংকলন উত্স নির্বাচন করুন।
  5. আপনি যে ফাইলটি আরসি অক্ষম করতে চান না এবং -fno-objc-arc ফাইলটি নির্বাচন করুন

একটি নির্দিষ্ট ফাইলের জন্য আরসি অক্ষম করুন


13

এক্সকোডে নির্দিষ্ট ফাইলের জন্য এটিসি (স্বয়ংক্রিয় রেফারেন্স কাউন্টিং) অক্ষম করা সম্ভব dis

লক্ষ্য নির্বাচন করুন -> পর্যায়ক্রমে বিল্ড করুন -> সংকলন উত্স -> ফাইল নির্বাচন করুন (ডাবল ক্লিক করুন) -> পপ-আপ উইন্ডোতে "-fno-objc-arc" যুক্ত করুন।

"পৌঁছনীয়তা" ফাইলগুলি ব্যবহার করার ক্ষেত্রে আমি এই পরিস্থিতির মুখোমুখি হয়েছিলাম।

এটি নীচের চিত্রে দেখানো হয়েছে:

এখানে চিত্র বর্ণনা লিখুন



11

এই ভিডিওতে বর্ণিত চারটি বাধ্যতামূলক পদক্ষেপ

    //1. Select desired files
    //2. Target/Build Phases/Compile Sources
    //3. Type -fno-objc-arc
    //4. Done


6

আপনি যদি ইউনিটি ব্যবহার করছেন, আপনাকে এক্সকোডে এটি পরিবর্তন করার দরকার নেই, আপনি ইউনিটির ডানদিকে নির্দিষ্ট ফাইল (গুলি) এর জন্য মেটাডেটাতে একটি সংকলন পতাকা প্রয়োগ করতে পারেন। এগুলি কেবলমাত্র প্রকল্প প্যানেলে নির্বাচন করুন এবং পরিদর্শক প্যানেল থেকে আবেদন করুন। যদি আপনি ক্লাউড বিল্ড ব্যবহার করার পরিকল্পনা করেন তবে এটি প্রয়োজনীয়।এখানে চিত্র বর্ণনা লিখুন


5

"-Fno-objc-arc" পতাকা যুক্ত করুন।

সরল অনুসরণের পদক্ষেপগুলি: অ্যাপ্লিকেশন> লক্ষ্যসমূহ> পর্যায়ক্রমগুলি তৈরি করুন> উত্সগুলি সঙ্কলন করুন> "-ফনো-অবজেক্ট-আর্ক" শ্রেণীর পরে পতাকা যুক্ত করুন


5

আমি মনে করি অন্যান্য সমস্ত উত্তর কীভাবে এমআরসি (ম্যানুয়াল রেফারেন্স গণনা) অক্ষম করবেন এবং এআরসি (স্বয়ংক্রিয় রেফারেন্স গণনা) সক্ষম করবেন expla এমআরসি (ম্যানুয়াল রেফারেন্স গণনা) ব্যবহার করার জন্য যেমন একাধিক ফাইলগুলিতে এআরসি (স্বয়ংক্রিয় রেফারেন্স গণনা) অক্ষম করা:

  1. এক্সকোডে টার্গেট / বিল্ড পর্যায় / সংকলন উত্সগুলিতে কাঙ্ক্ষিত ফাইলগুলি নির্বাচন করুন
  2. এন্টার চাপুন
  3. টাইপ করুন - fobjc-arc
  4. এন্টার বা সম্পন্ন টিপুন

2

বিল্ড পর্যায়সমূহে কেবল -fno-obcc-arc পতাকা ব্যবহার করুন> ফাইলগুলি সন্নিবেশ করান উত্সগুলি যাকে আপনি আরআর প্রয়োগ করতে চান না সেগুলি সূচনা করুন।


-1
  1. প্রকল্প -> লক্ষ্য -> বিল্ড পর্যায় -> সংকলক উত্স নির্বাচন করুন
  2. ফাইল নির্বাচন করুন -> সংকলক পতাকা
  3. add -fno-objc-arc

-2

অ্যাপে যান -> তারপরে লক্ষ্যসমূহ -> পর্যায়ক্রমে বিল্ড করুন -> উত্স সঙ্কলন করুন

এখন, আপনি যে ফাইলটি এআরসি অক্ষম করতে চান তা নির্বাচন করুন

এই স্নিপেটটি "-fno-objc-arc" পেস্ট করার পরে ENTER চাপুন

প্রতিটি ফাইল যেখানে আপনি আরসি অক্ষম করতে চান।


5
আপনার উত্তরটি এই পুরানো প্রশ্নের সাথে কোনও সংযোজন দেয় না।
ভাইকিংগুন্ডো

-2

এআরসি অক্ষম করার জন্য পদক্ষেপ অনুসরণ করা

এক্সকোড প্রকল্প নির্বাচন করুন লক্ষ্যগুলিতে যান বিল্ড পর্যায় বিভাগ বিভাগ নির্বাচন করুন বিল্ড পর্যায় বিভাগের অভ্যন্তরে সংকলন উত্স নির্বাচন করুন। আপনি যে ফাইলটি আরসি অক্ষম করতে চান না এবং -fno-objc-arc ফাইলটি নির্বাচন করুন


1
আপনার উত্তরটি এই পুরানো প্রশ্নের সাথে কোনও সংযোজন দেয় না।
jomafer

কি যোগ প্রয়োজন। আপনি যদি আমাদের সরবরাহ চেয়ে ভাল জানেন।
আনু

আমি তোমাকে উড়িয়ে দেইনি এই 11 জুলাই 1111 এ 5:21 এ ঠিক এই প্রশ্নটি করা হয়েছিল। একই উত্তরের সাথে অনেকগুলি উত্তর রয়েছে যা কোনও দরকারী তথ্য যুক্ত করে না ... আমার সন্দেহ হয় যে কেউ আপনাকে সেই কারণে নীচে
নামিয়েছে

আপনি কি আমাকে এ সম্পর্কে কিছু সংক্ষিপ্ত বিবরণ দিতে পারেন
আনু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.