কোডসাইন ত্রুটি: মেয়াদোত্তীর্ণ প্রোফাইল মোছার পরে মঞ্জুরি দেওয়ার প্রোফাইল পাওয়া যাবে না


500

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

কোড সাইন ত্রুটি: প্রভিশিং প্রোফাইল (দীর্ঘ স্ট্রিং) পাওয়া যাবে না।

আমি কী মিস করছি? আমি সম্পর্কিত প্রশ্নগুলি দেখেছি এবং এই দৃশ্যটি ইতিমধ্যে দেখিনি।

উত্তর:


856

কখনও কখনও আপনার এক্সকোড প্রকল্প ফাইলটি বিশৃঙ্খলাবদ্ধ হয়ে যায়, বিশেষত যদি আপনার কোনও পুরানো প্রকল্প থাকে এবং প্রথমে এটি xcode / iPhone sdk এর একটি পুরানো সংস্করণ দিয়ে তৈরি করে। আপনার যা করা দরকার তা হ'ল পাঠ্য সম্পাদকে প্রকল্প ফাইলটি খুলুন, আপনার ত্রুটি থেকে 'লম্বা স্ট্রিং' অনুসন্ধান করুন এবং সেই লাইনটি ম্যানুয়ালি মুছে ফেলুন। প্রকৃতপক্ষে, আপনার কেবলমাত্র এগিয়ে যাওয়া উচিত এবং যে কোনও লাইন মুছে ফেলা উচিত যা কোনও প্রভিশন প্রোফাইলগুলিকে নির্দেশ করে। তারপরে এক্সকোডে প্রকল্পটি আবার খুলুন, সেটিংসে যান এবং আপনার নতুন প্রোফাইলটি পুনরায় নির্ধারণ করুন। এটি বেশিরভাগ সময় এর মতো বিষয়গুলি পরিষ্কার করে দেয়। প্রভিশনিং প্রোফাইলগুলিতে নির্দেশিত লাইনগুলি এর মতো দেখতে পাবেন:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

210
.Xcodeproj ফাইলটি আসলে অ্যাপ্লিকেশন বান্ডেলের মতো একটি ডিরেক্টরি, যদি আপনি এটি সন্ধানকারীতে ডানদিকে ক্লিক করেন, আপনি প্যাকেজ সামগ্রীগুলি নির্বাচন করতে পারেন, এবং তারপরে আপনি বেশ কয়েকটি ফাইল ভিতরে দেখতে পাবেন (বা টার্মিনালে কেবল এটিতে সিডি করতে হবে)। প্রকৃত প্রকল্প ফাইলটি সেখানে একটি .pbxproj এক্সটেনশান সহ। একবার আপনি এটি কোনও পাঠ্য সম্পাদক দিয়ে খোলার পরে আপনি যে লাইনগুলি সন্ধান করছেন তা 'PROVISIONING_PROFILE = বা' '"PROVISIONING_PROFILE [sdk = iphoneos *]" =' দিয়ে শুরু করা উচিত। এই সমস্ত মুছুন এবং তারপরে আপনার ভাল হওয়া উচিত।
ব্র্যাড দ্য অ্যাপ গাই

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

11
2012 সালে এক্সকোড 4 এর সাথে এখনও একটি মূল্যবান পরামর্শ Thanks ধন্যবাদ!
আলেক্সি রুসাকভ

6
... 2014 এ এক্সএকড 6 এর সাথে অআআন্ড এবং মূল্যবান পরামর্শ! তোমাকে অনেক অনেক ধন্যবাদ!
টম ভ্যান জুম্মেরেন

4
আমার পক্ষে একমাত্র কাজ: পছন্দসমূহ -> অ্যাকাউন্ট -> বিশদ দেখুন -> রিফ্রেশ। এটি ডিভাইস পোর্টাল থেকে সমস্ত বিধানকারী প্রোফাইল পুনরায় লোড করেছে। আশা করি এটি কাউকে সহায়তা করবে
ব্ল্যাকহক 4152

129

এখানে একটি সহজ সমাধান যা আমার পক্ষে কাজ করেছে এবং যার জন্য প্রকল্প ফাইলের ম্যানুয়াল সম্পাদনার প্রয়োজন নেই:

এক্সকোডে, "গোষ্ঠী ও ফাইলগুলি" ফলকে, "লক্ষ্যগুলি" প্রসারিত করুন এবং আপনার অ্যাপের লক্ষ্যবস্তুতে ডাবল ক্লিক করুন। এটি লক্ষ্যটির জন্য তথ্য ফলকটি নিয়ে আসে। "বিল্ড" বিভাগে, কোনও পুরানো প্রোফাইলের জন্য "কোড স্বাক্ষর" বিভাগটি পরীক্ষা করুন এবং সঠিকটি দিয়ে প্রতিস্থাপন করুন।

মনে রাখবেন যে এটি আপনার প্রকল্প আইকনে ডাবল-ক্লিক করা এবং সেখান থেকে প্রোফাইল পরিবর্তন করা থেকে পৃথক। বেশ চমৎকার :)

Ori থেকে


1
ধন্যবাদ! আমি পরের বার এটি চেষ্টা করব :) এর আগে :)
কোয়ান্টাম্পোটাটো

6
এবং প্রথমে ডান বিল্ড কনফিগারেশনটি নির্বাচন করার বিষয়টি নিশ্চিত করুন :)
জনাস

1
এটি সবসময় কাজ করে না। কখনও কখনও আপনাকে এখনও প্রবেশ করতে হবে এবং ম্যানুয়ালি এটি পরিবর্তন করতে হবে যেমন এটি প্রথম উত্তরে দেখায়।
স্পেসট্রকার

স্পেসট্রকারকে প্রতিধ্বনিত করার জন্য কেবলমাত্র অন্য একটি নোট: এই পদ্ধতিটি সর্বদা কার্যকর হয় না। গৃহীত উত্তরের গ্যারান্টি রয়েছে যে এক্সকোড সেই ফ্যান্টম প্রোফাইলটি সন্ধান করা বন্ধ করবে।
সিমোন মাঙ্গানেলি

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

76
  1. প্রকল্প ও লক্ষ্যসমূহের বৈশিষ্ট্য -> "কোড সাইন করবেন না" -> ঠিক আছে -> সেমিডি + এস (বা সেমিডি + বি);
  2. প্রকল্প ও লক্ষ্যসমূহের সম্পত্তি -> "আপনার বিধানের প্রোফাইল" -> ঠিক আছে

  3. সবকিছু আবার কাজ করে!


4
এটিই আমার জন্য একমাত্র সমাধান (এক্সকোড 4 ব্যবহার করে) কাজ করেছে। নির্বাচিত "কোড কোড সাইন" দিয়ে অ্যাপ্লিকেশন তৈরি করা আমার জন্য একটি বাধ্যতামূলক পদক্ষেপ ছিল।
চজবট

এটি 200+ upvotes সহ একটির চেয়ে ভাল সমাধানের মতো বলে মনে হচ্ছে, কারণ Xcode ভবিষ্যতে তার প্রকল্প ফাইলটি লেখার পদ্ধতিটি পরিবর্তন করতে পারে।
দানিয়াল আয়তেকিন

1
এটিই সঠিক একাকীকরণ যা Xcode 4.2 এ আমার জন্য কাজ করেছে
সেলভিন

10

ব্র্যাডের জবাবের সাথে আমি একমত, যে আপনি নিজের টার্গেট / প্রকল্পটি হাত দ্বারা সম্পাদনা করে, এই জাতীয় কোনও লাইন মুছে ফেলে এই সমস্যাটি সমাধান করতে পারেন:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

যাইহোক, এক্সকোড ৪.২ এবং তারপরে, এই পাঠ্যটি অ্যাক্সেস করার এবং এটি নির্বাচন করে মুছার জন্য আরও অনেক সহজ উপায় রয়েছে। বাম দিকে প্রকল্প নেভিগেটরে, আপনার প্রকল্পটি নির্বাচন করুন (প্রকল্প নেভিগেটরের শীর্ষতম লাইন)। এখন কেবল দেখুন> সংস্করণ সম্পাদক> সংস্করণ সম্পাদক দেখান। এটি আপনার প্রকল্পটিকে পাঠ্য হিসাবে প্রদর্শন করবে এবং আপনি এক্সকোডের সম্পাদক প্যানে সঠিকভাবে প্রভিশনিং অনুসন্ধান করতে এবং সমস্যাযুক্ত লাইনটি মুছতে পারেন।


এটি অনুসরণ করে আপনাকে প্রজেক্টটি বন্ধ এবং খুলতে হবে না। আরও ভাল পদ্ধতির :)
ভাইরাল

6

এই ইস্যুতে কেবল একটি ভিন্নতা দেখেছি: উপরের ব্র্যাড স্মিথের নোট অনুসারে আমি প্রকল্প.pbxproj ফাইলে গেলাম, এই ক্ষেত্রে প্রভিশনিংপ্রোফাইল লাইনগুলির সমস্ত সঠিক বলে মনে হয়েছিল, "খারাপ" প্রোফাইল স্ট্রিংয়ের কোনও ঘটনা নেই যা এক্সকোড পারেনি খুঁজে পাচ্ছি না।

যাইহোক, ঠিক একই ছিল: প্রজেক্ট.পিবিএক্সপিজেজে সমস্ত PROVISIONING_PROFILE লাইন মুছে ফেলা হচ্ছে, যদিও তারা তাত্ত্বিকভাবে "ভাল" দেখায় এবং তারপর এক্সকোডে প্রকল্পটি পুনরায় খোলার জন্য।


4

সম্পূর্ণরূপে টার্মিনালে ব্র্যাডের সমাধান অর্জন করতে, এই আদেশগুলি ব্যবহার করুন

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - পুরো লাইন মুছুন
  5. আর খুঁজে না পাওয়া পর্যন্ত এন টিপুন
  6. সংরক্ষণ এবং বন্ধ করতে Ctrl + x

3

আমার ক্ষেত্রে সমস্যাটি উইন্ডো -> সংগঠকটি খোলার মাধ্যমে, আমার ডিভাইসটি নির্বাচন করে এবং ডানদিকে "বিধান" প্যানেলের অধীনে পুরানো প্রভিশনিং প্রোফাইলটি সরিয়ে সমস্যার সমাধান করা হয়েছে। পুরানোটিকে ইতিমধ্যে একটি লাল "x" চিহ্ন দিয়ে চিহ্নিত করা হয়েছে তবে আইফোনটি এখনও এটি ব্যবহার করছে।

এই প্রোফাইলটি ছাড়াও, নতুনটিও প্রদর্শিত হচ্ছে (একই নাম সহ) এবং অ্যাপ্লিকেশনটি পুনরায় চালু করার পরে আমি এটিকে সহজেই চালিত করেছি।


+1, কখনও কখনও আমি ইনস্টল করতে পারিনি কারণ একটি মেয়াদোত্তীর্ণ প্রোফাইল - একই শনাক্তকারীর সাথেও নয়! - আমার ডিভাইসে ছিল।
কোয়ান্টাম্পোটাটো

এইটি আমার পক্ষে কাজ করেছিল, তবে এটি কাজ করার জন্য আমাকে এক্সকোড পুনরায় চালু করতে হয়েছিল।
ম্যাট

3

এটি করতে এক ঘন্টা বা আরও বেশি সময় ব্যয় করেছেন এবং ব্র্যাডের পরামর্শ এবং কিছু অতিরিক্ত পরিবর্তনগুলির সহায়তায় যা কিছু কাজ করেছিল।

আমি নিম্নলিখিতটি ব্যবহার করে এটি করেছি: 10.7.3, এক্সকোড 4.3.2, আইওএস 5.1 বিটিডাব্লু।

1) আপনার উপর রাইট ক্লিক করুন myapp.xcodeproj এবং প্যাকেজ সামগ্রী নির্বাচন করুন

2) খোলা project.pbxproj একটি পাঠ্য সম্পাদক দিয়ে (টেক্সটাইটিটটি সুপারিশ করবেন না কারণ এটি ফর্ম্যাটটিকে স্ক্রু করতে পারে)

3) আপনি খুঁজে না পাওয়া পর্যন্ত নিচে সমস্ত দিকে স্ক্রোল করুন /* Begin XCBuildConfiguration section */

4) লক্ষ্য করুন যে আপনার একটি ডিবাগ এবং প্রকাশের বিভাগ রয়েছে

5) রিলিজ বিভাগে একবার দেখুন CODE_SIGN_IDENTITYএবং "CODE_SIGN_IDENTITY[sdk=iphoneos*]"এটি এর মতো কিছু দেখতে হবে:

CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";

6) একবার দেখুন PROVISIONING_PROFILEএবং "PROVISIONING_PROFILE[sdk=iphoneos*]"তাদের দেখতে এইরকম হওয়া উচিত:

PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

এটি এক্সকোডে আপনার প্রভিশন প্রোফাইলের সাথে মেলে। তারা খোলার জন্য Xcode> উইন্ডো> সংগঠক> ডিভাইসগুলি> প্রভিশিং প্রোফাইল> প্রোফাইলটিতে ডান ক্লিক করুন> ফাইন্ডারে প্রকাশ করুন> .মোবাইলপ্রভিশনটির ফাইল নামটি আপনার প্রোফাইল আইডি।

7) নীচে স্ক্রোল করুন project.pbxprojএবং রিলিজ বিভাগের একটি দ্বিতীয় উদাহরণ সন্ধান করুন। প্রকাশ বিভাগের দ্বিতীয় উদাহরণটি একটি মন্তব্য দিয়ে শেষ করা উচিত/* End XCBuildConfiguration section */

8) নিশ্চিত যে দ্বিতীয় অধ্যায় যাতে প্রথম অধ্যায় মিলে যায় করা CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*], এবং PROVISIONING_PROFILEসব পূরণ করা হয়।


2

একটি পরামর্শ আমি করব যেহেতু এখনও কেউ এটি না বলেছে: দয়া করে আপনার পুরো .xcodeproj ফাইলটির ব্যাকআপ তৈরি করার আগে দয়া করে এর বিষয়বস্তুগুলি সংশোধন করা শুরু করুন। প্রকল্পের ফাইলটি স্ক্রিউ করা এবং ব্যাকআপ না থাকা খুব খুব অপ্রীতিকর অভিজ্ঞতার দিকে নিয়ে যায়।

কোনও সম্পাদনা পিছনে ফিরে আসতে সক্ষম হওয়া গডসেন্ড হতে পারে।


হ্যাঁ, এসসিএম দেবতারা উত্স নিয়ন্ত্রণ করেছিলেন।
জুনিয়র

1

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

আমি আমার অ্যাপটি (সংরক্ষণাগার দ্বারা) জমা দেওয়ার চেষ্টা করছিলাম। সুতরাং আমি কেবলমাত্র ডিবাগের বিধানগুলিকে "কোড সাইন করো না" এবং আমার অ্যাপ্লিকেশনটির স্টোর বিধানে রিলিজ বিধান পরিবর্তন করেছি।

এটি এটি ঠিক করে এবং আমাকে সাধারণত সংরক্ষণাগারভুক্ত করতে সক্ষম করে। আশা করি এইটি কাজ করবে.


1

যে কোনও আইওএস এসডিকে এর অধীন ফাঁকা কোডসইংগুলিতে লাইনগুলি নির্বাচন করুন এবং সঠিক শংসাপত্রটি নির্বাচন করুন।


1

ব্র্যাড স্মিথের সমাধানটি আমার পক্ষে কাজ করেছিল, তবে এটিকে কাজ করার জন্য আমাকে CODE_SIGN_IDENTITY ক্ষেত্রটিও সরিয়ে ফেলতে হয়েছিল।


এটি একটি পাঠ্য সম্পাদনায় xcode প্রকল্প ফাইলটি সম্পাদনা করে ম্যানুয়ালি করা হয় এবং আমি যখন প্রায়শই ভাঙ্গা অবস্থায় যাই তখন আমাকে আবার যেতে হবে। মুছে ফেলা যায় এমন দুটি জিনিসই জানা প্রায়শই সহায়ক। ভাল যুক্তি.
ওয়ারেন পি

0

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

আমি আমার প্রকল্পের ফাইলটির একটি ভার্সিং সংস্করণে ফিরে এসেছি। যেহেতু এক্সকোডের সাথে ফিরে যাওয়া সম্ভব নয় ( এক্সকোড 4 এর সোর্স কন্ট্রোলটিতে 'রিভার্ট' বিকল্পটি কোথায়? ) - আমি আমার উইন্ডোজ মেশিন এবং এই টিউটোরিয়ালটি ( http://tortoisevn.net/docs/nightly/TortoiseSVN_en) ব্যবহার করেছি /tsvn-howto-rollback.html ) পুরানো প্রকল্পের ফাইলে ফিরে যেতে।

টিউটোরিয়ালটি আমার পক্ষে কার্যকর না হওয়ায়, আমি আমার প্রকল্পের ফাইলটির কার্যকরী সংশোধনটি এটি আমার ম্যাকটিতে পোর্ট করার জন্য একটি ইউএসবি স্টিকে সংরক্ষণ করার জন্য কেবল টরটোইজকে ব্যবহার করেছি। তারপরে আমি নতুন ভাঙ্গা প্রকল্পের ফাইলটিকে পুরানো কর্মক্ষমের সাথে প্রতিস্থাপন করেছি, পরিষ্কার করেছি এবং এটি একটি কবজির মতো কাজ করেছে!


0

আমার সমস্যা ছিল কারণ আমি টেস্টফ্লাইটে ব্যবহারের জন্য কিছু নতুন ডিভাইস সহ আমার অ্যাডহক প্রভিশন প্রোফাইল আপডেট করেছি। ধারণা করা হচ্ছে এটি ঘটছে কারণ কোড কোডিং বিল্ড সেটিংস প্রকল্পের জন্য বা টার্গেটগুলিতে এক্সকোডের আপনার প্রভিশন প্রোফাইলের একটি পুরানো রেফারেন্স রয়েছে। আমি আমার যেভাবে স্থির করেছি তা হ'ল:

  1. টার্গেট বিল্ড সেটিংস এবং প্রজেক্ট বিল্ড সেটিংস উভয়টিতে যান, কোড সাইনিংয়ের অধীনে সমস্ত বিধানকারী প্রোফাইলগুলিকে অন্য কোনও কিছুতে পরিবর্তন করুন।
  2. সংগঠকটিতে ডিভাইস / প্রভিশনিং প্রোফাইলে যান আপত্তিকর প্রোফাইলগুলি মুছুন, তারপরে নীচে ডানদিকে রিফ্রেশ বোতামটি ক্লিক করুন।
  3. টার্গেটে ফিরে যান এবং প্রজেক্ট বিল্ড সেটিংসে যান এবং আপনার প্রভিশন প্রোফাইলগুলি যথাযথ (আশাবাদী) সদ্য রিফ্রেশ প্রভিশন প্রোফাইলগুলিতে সেট করুন।

0

কমপক্ষে Xcode 5 এ, এই জিনিসটিই আমার সমস্যার সমাধান করেছে:

প্রভিশনিং প্রোফাইলের অধীনে আপত্তিকর প্রভিশন প্রোফাইলটি নির্বাচন করুন এবং তারপরে পুল-ডাউন মেনুতে একটি বৈধ প্রভিশন প্রোফাইল নির্বাচন করুন।

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


0

আপনি বিধান ফাইলটির পুরানো রেফারেন্স সরাতে পারেন। তারপরে নতুন প্রভিশন প্রোফাইল আমদানির পরে এবং এক্সকোড নির্মাতা নির্বাচন করুন।

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