এক্সকোডে গেট-টাস্ক-অনুমতি কী করে?


95

সুতরাং আমি যখন আমার আইফোন অ্যাপ্লিকেশন প্রকল্পে আমার এনটাইটেলমেন্টগুলি সেট আপ করি তখন আমি একটি নতুন এনটাইটেলমেন্টস.পুলিস্ট তৈরি করি এবং গেট-টাস্ক-মুল্যের মানটিকে মিথ্যাতে সেট করি। কিন্তু কেন? এই কীটি উপস্থাপন করে?

সম্পাদনা

এটি এই প্রশ্নের সাথে সম্পর্কিত নোট করুন - আমি দেখতে পেয়েছি যে এই কীটির মানটিকে সত্যে উল্টানো আমাকে আমার ডিভাইসে অ্যাপ্লিকেশন ইনস্টল করার অনুমতি দিয়েছে)

উত্তর:


165

এডিসিতে এই থ্রেড থেকে :

get-ટાસ્ક-অনুমতি, যখন কোনও অ্যাপ্লিকেশনটিতে সাইন ইন করা হয়, তখন অন্যান্য অ্যাপ্লিকেশনগুলিকে (ডিবাগারের মতো) আপনার অ্যাপ্লিকেশনটিতে সংযুক্ত করার অনুমতি দেয়। বিতরণ প্রোফাইলগুলির জন্য এই মানটি বন্ধ করা আবশ্যক, যখন বিকাশকারী প্রোফাইলগুলিতে এই মানটি চালু করা প্রয়োজন (অন্যথায় এক্সকোড কখনই আপনার অ্যাপ্লিকেশনটিতে আরম্ভ করতে এবং সংযুক্ত করতে সক্ষম হবে না)।


4
তাহলে কি দুটি প্রকল্পের জন্য কী এনটাইটেলমেন্টস.পলিট ফাইল থাকা দরকার, একটি যেখানে এই মানটি হ্যাঁ সেট করা হয় যা ডিবাগ প্রোফাইলগুলিকে লক্ষ্য করে এবং অন্যটি যা কোনও নির্দিষ্টকরণ করে না, বিতরণ প্রোফাইলকে লক্ষ্যবস্তু করে?
গ্রেগ ম্যালেটিক

4
কিছু নয়, আমার নিজের প্রশ্নটি সমাধান করুন। আপনি যদি নিজের ডিবাগ বিল্ড সেটিংসের বাইরে এনটাইটেলমেন্টস.প্লেস্টটি ছেড়ে দেন তবে আপনার কোনও সমস্যা নেই।
গ্রেগ ম্লেটিক

4
কিন্তু, এনটাইটেলমেন্টস.প্লেস্টকে ডেভলপার প্রোফাইলে ডেবাগ মোডে প্রকল্পের অন্তর্ভুক্ত না করার পরেও আমি ডিবাগ করতে পারি। কেউ আমাকে এই ব্যাখ্যা করতে পারেন?
এসপিডি

4
ডিবাগের জন্য ডিফল্ট সত্য, মুক্তির জন্য ডিফল্ট মিথ্যা। এটি মিথ্যাতে পরিণত করা ডিবাগটি অক্ষম করবে।
অলস কোডার

4
তবে বিতরণ কনফিগারেশনগুলি সাধারণত 'রিলিজ' থেকে নেওয়া হয়। এর অর্থ এই নয় যে আপনার অ্যাডহকের জন্য মিথ্যা নির্দিষ্ট করার দরকার নেই? (বা এই বিষয়গুলির জন্য, কোনও এনটাইটেলমেন্ট ফাইলগুলি আদৌ আছে?)
নিকোলাস মিয়ায়ারি

13

আইফোনটিতে আপনার অ্যাপ্লিকেশনটি ডিবাগ করার ক্ষমতা।


4
মজাদার! যদি এটি সমস্ত কিছু করে তবে আমি আশ্চর্য হয়েছি কেন মানকে মিথ্যে ফ্লিপ করা আমার ডিভাইসে অ্যাপ্লিকেশন ইনস্টল করা থেকে বাধা দেয়? (সংশ্লিষ্ট তাই প্রশ্ন: stackoverflow.com/questions/997884/... )
Codebeef

এটি এটিই করে ... তবে এটি আসলে কী করে যা আপনাকে এটি করতে দেয়?
রায়ান ডিটজেল

4
কোডবিফের মতো আরও তথ্য অন্তর্ভুক্ত করা থাকলে এই উত্তরটি ব্যাপকভাবে উন্নত হতে পারে।
যাদার

@ কোডবিফ আমি বিশ্বাস করি যে এটি অন্তর্নিহিতের চেয়ে এক্সকোড আরোপিত একটি বিধিনিষেধ।
সাগরঝা

9

যদিও আপনার উত্তরটি সঠিক, আমি কেবলমাত্র এটি সম্পর্কে আরও নির্দিষ্ট হতে চাই যাতে লোকেরা যা জানতে চায় তার সঠিক get_task_allowঅর্থ কী, পারে।

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

যদি আপনি একটি জেলব্রেক কীভাবে কাজ করে তা একবার পর্যালোচনা করে দেখেন যে তারা তাদের প্রথম কাজগুলির একটি task_for_pid(mach_task_self(),0,&kernel_task);হ'ল এটি kernel_taskহ'ল একটি mach_port_tমূল্যযুক্ত 0, যাতে তারা কার্নেলের স্মৃতি স্পর্শ করতে সক্ষম হয়।

কার্নেল এনটাইটেলমেন্টগুলিতে এনটাইটেলমেন্ট না get_task_allowথাকায় এবং অ্যাপল এমনকি tfp0( task_for_pid 0) করার সম্ভাবনা সরিয়ে ফেলেছে , তাদের একটি প্যাচ প্রয়োজন।

সুতরাং মূলত এক্সকোডকে আপনার অ্যাপ্লিকেশনটির স্মৃতি স্পর্শ করা এবং এটি ডিবাগ করার জন্য এটির সাথে কাজ করা দরকার, আপনাকে এটি ডিবাগিংয়ের জন্য সক্ষম করতে হবে তবে আপনার অ্যাপ্লিকেশন বিতরণ করতে আপনাকে এটি অক্ষম করতে হবে অন্যথায় কোনও অ্যাপ্লিকেশন আপনার পেতে সক্ষম হবে টাস্ক পোর্ট


-7

এক্সকোড 4 এর জন্য: আপনাকে নতুন ফাইল থেকে এনটাইটেলমেন্টস.পলিট ফাইল তৈরি করতে হবে। এবং লক্ষ্যগুলি-> বিল্ড সেটিংস-> কোড স্বাক্ষরকারী এনটাইটেলমেন্টগুলি আপনাকে এখানে লিখতে হবে "Entititions.plist"

আমি এটি করেছি এবং এক্সকোড আর ত্রুটি পাবে না

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