এক্সকোডে আইওএস অ্যাপ সংরক্ষণাগার তৈরি করতে পারে না


175

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


7
যদিও প্রশ্নটি এক্সকোড থেকে সংরক্ষণাগার তৈরি করার বিষয়ে, তবুও আমি ব্যবহার করে এই সমস্যার মুখোমুখি হয়েছি xcodebuild। সমাধানটি গন্তব্য নির্দিষ্ট করতে হবে:xcodebuild -destination generic/platform=iOS
db42

ধন্যবাদ @ ডিবি 42, এটি এটি করেছে!
চমত্কার

1
আপনি রেজোলিউশনের বিস্তারিত ব্যাখ্যা করতে পারেন - আপনি কোথায় পরিবর্তন আনবেন?
jlo-gmail

আপনার যদি প্রজেক্টে> .xcodeproj ফাইল থাকে> লক্ষ্য> বিল্ড পর্যায়> লক্ষ্য নির্ভরতা সেখান থেকে সরিয়ে ফেলুন এবং আপনার আইপা তৈরি করুন build এটা আমার জন্য কাজ করে. চিয়ার্স
কল্পনা পঞ্চসরা

উত্তর:


316

বিল্ড সেটিংস পরীক্ষা করুন:

  1. স্কিপ ইনস্টল মূল প্রকল্পের লক্ষ্যমাত্রার জন্য কোনও নয়
  2. স্কিপ ইনস্টল হ'ল ফ্রেমওয়ার্ক (উপ-প্রকল্প) লক্ষ্যগুলির জন্য হ্যাঁ
  3. উপ-প্রকল্পগুলির জন্য বিল্ড পর্যায়সমূহে, অনুলিপি শিরোনামগুলি প্রজেক্টে থাকা দরকার, পাবলিক নয় (স্ট্যাটিক লাইব্রেরি নির্মাণের ক্ষেত্রে প্রয়োগ হয় না)
  4. স্থাপনার অধীনে ইনস্টলেশন ডিরেক্টরি বৈধ (/ উদাহরণস্বরূপ অ্যাপ্লিকেশন)

2
এটি সর্বাধিক সম্পূর্ণ উত্তর যা উপরের আংশিক উত্তরগুলিকে অন্তর্ভুক্ত করে। ধন্যবাদ অ্যালেক্স এল! আমি মনে করি এটি এই প্রশ্নের জন্য নির্বাচিত উত্তর হওয়া উচিত।
ব্র্যান্ডন

3
একটি মেটা প্রশ্ন হিসাবে, আপনি এটি কীভাবে খুঁজে বের করলেন? দেখে মনে হচ্ছে আমার বিল্ড-সম্পর্কিত সমস্ত প্রশ্নের জন্য আমি স্ট্যাকওভারফ্লোতে নির্ভর করি।
ফিলিপকেড

4
সুন্দর! আমি ভাবলাম এটি প্রোফাইল বিধান করার ক্ষেত্রে একটি সমস্যা, তবে এটি দুর্দান্ত কাজ করেছে। সাব প্রকল্পটি ছিল রুট-মি / ম্যাপভিউয়ের ম্যাপবক্স শাখা। কপির শিরোনামগুলি নীচের পোস্টে উল্লেখ করা হয়েছে যেহেতু এটি সাব প্রকল্পের বিল্ড পর্যায়গুলিতে পাওয়া যাবে।
rcarver

7
# 3 আমার সমস্যার সমাধান করেছে তবে আমার সংরক্ষণাগারটি আইওএস অ্যাপ সংরক্ষণাগার হিসাবে তৈরি হওয়ার আগে আমার ব্যক্তিগত ফাইল থেকে প্রজেক্টে ফাইলগুলি স্থানান্তর করা দরকার।
থমাস হাজাকাক

4
প্রযুক্তিগতভাবে, সমস্যাটি হ'ল শিরোনামগুলি অনুলিপি শিরোনামগুলির অধীনে পাবলিক হয় না, এটি সেটিংস তৈরি করে> পাবলিক শিরোনাম ফোল্ডার পাথ ডিফল্ট হিসাবে সেট করা থাকে /usr/local/include। যদি আপনি একটি স্ট্যাটিক লাইব্রেরি তৈরি করেন তবে শিরোনামগুলি অবশ্যই সর্বজনীন হতে হবে , সুতরাং যদি # 3 জনসাধারণের শিরোনাম ফোল্ডার পাথটিকে আরও সংবেদনশীল কিছুতে পরিবর্তন করা হয় তবে এটি আরও সঠিক include/$(TARGET_NAME)। @ কপারক্যাশ নীচে একটি উত্তরে এটি নোট করে।
বাইক্যাটল

75

আপনি যদি কোনও ফ্রেমওয়ার্ক / লাইব্রেরি যুক্ত করেন তবে এটি ঘটতে পারে ... আপনার সেই লাইব্রেরির টার্গেট-> বিল্ড সেটিংস সম্পাদনা করতে হবে এবং 'হ্যাঁ' এ 'ইনস্টল করুন স্কিপ' সেটিংস সেট করতে হবে। আপনি যখন পুনরায় সংরক্ষণাগারভুক্ত করবেন তখন এক্সকোডের 'জেনেরিক এক্সকোড সংরক্ষণাগার' না দিয়ে আবার 'আইওএস অ্যাপ সংরক্ষণাগার' তৈরি করা শুরু করা উচিত।


তবে "স্কিপ ইনস্টল করুন" এক্সকোড ৪.৪.১ এ উপলভ্য নয়, কমপক্ষে আমি আমার এক্সকোডে স্কিপ ইনটেলটি খুঁজে পাচ্ছি না
মাশহাদি

2
একই যোগ করা বান্ডিল প্রযোজ্য।
মার্ক হরগান

62

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

আপনার lib / ফ্রেমওয়ার্ক টার্গেটের ফেজ তৈরি করুন


3
স্কিপ ইনস্টল টু হ্যাঁ আমার পক্ষে কার্যকর হয়নি বলে আমি কেবল আশা হারাতে চলেছিলাম। প্রজেক্টে শিরোনাম অনুলিপি করা আমার জন্য কৌশলটি করেছে। ধন্যবাদ!
কেএসএম

10
ত্রুটিযুক্ত এক্সকোড সাবপ্রজেক্টটি স্থানীয়করণে সহায়তা করতে আপনি ফাইন্ডারে জেনেরিক এক্সকোড সংরক্ষণাগারটি প্রদর্শন করতে পারেন এবং প্যাকেজটি অন্বেষণ করতে পারেন। .Xcarive এর ভিতরে, আপনি পণ্য / usr / স্থানীয় / অন্তর্ভুক্ত মধ্যে ত্রুটিযুক্ত শিরোনাম দেখতে পাবেন।
মনসিয়রডার্ট

1
শিরোনামগুলি জনসাধারণের কাছে অনুলিপি করতে কয়েকটি ফাইল কেন লাগানো হবে?
এমএসকেডব্লিউ

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

1
অভিশাপ, ধন্যবাদ, তারা আমার জন্য কাজ করেছে .. আমি অবাক হয়েছি যে আপনি কীভাবে এই ধরণের সমাধানগুলি সন্ধান করতে পারেন :)
ফ্যাবিও নেপোদানো

45

এটি আমার পক্ষে কাজ করার জন্য নিম্নলিখিত কাজগুলি করেছেন:

  1. আমার কাছে তিন20 টি স্ট্যাটিক লাইব্রেরি ছিল, আমি মূল প্রকল্পের মধ্যে ফাইলগুলি অন্তর্ভুক্ত করার জন্য কোকোপড ব্যবহার করি
  2. অন্যান্য সমস্ত উপ প্রকল্প / স্থির গ্রন্থাগারগুলির জন্য স্কিপ ইনস্টল অনুসরণ করে এবং উপরে বর্ণিত হিসাবে কপির শিরোনামগুলি জনসাধারণ থেকে প্রকল্পে স্যুইচ করেছে
  3. সবচেয়ে গুরুত্বপূর্ণভাবে: প্রতিটি লাইব্রেরিতে আপনার প্রকল্পের ব্যবহারসমূহ যেতে -> কপি ফাইল বিল্ড পর্যায়ক্রমে এবং যে নিশ্চিত গন্তব্য থেকে পরিবর্তিত হয় Absolute pathথেকে products directory। দ্রষ্টব্য: এই ত্রুটি ঘটিয়েছে এমন লাইব্রেরিটি খুঁজতে আপনার অনুসন্ধানকে সংকীর্ণ করতে নীচের ইঙ্গিতটি দেখুন।

এবং এটি ছিল!

ইঙ্গিত: আপত্তিজনক ফাইলগুলির আইডিয়া পাওয়ার জন্য যা আপনার সংরক্ষণাগারটিকে আইপি না করে একটি সংরক্ষণাগার ফাইল তৈরি করে দেয়:

  1. সংরক্ষণাগারটি নির্বাচন করুন এবং বিতরণ বোতামটি ক্লিক করুন।
  2. 'সেভ বিল্ট প্রোডাক্টস' বিকল্পটি নির্বাচন করুন।
  3. হিট নেক্সট এবং সেভ করুন।
  4. ফাইন্ডারে তৈরি ডিরেক্টরি ব্রাউজ করুন।
  5. 'লাইব্রেরি' উপ-ডিরেক্টরি আপনাকে যে লাইব্রেরিগুলি হ্যাঁ এড়িয়ে যান ইনস্টল সেট করতে হবে তা সনাক্ত করবে।
  6. কিছু ক্ষেত্রে usr/local/includeআপনাকে পাবলিক থেকে প্রজেক্টে স্থানান্তরিত করতে হবে এমন অপরাধী শিরোলেখ ফাইলগুলি বা আপনার যে নিখুঁত পথ থেকে পণ্য ডিরেক্টরিতে পরিবর্তন করতে হবে সেই ফাইলগুলি (বা আপনি যে ফাইলগুলি হ্যাঁ পতাকাতে স্কিপ ইনস্টল করতে ভুলে গেছেন) তা সনাক্ত করবে। তবে সেই ডিরেক্টরিটি (যেমনঃ usr / স্থানীয় / অন্তর্ভুক্ত) আপনার সাবলিবারি ডিরেক্টরি কাঠামোর উপর নির্ভর করে পরিবর্তিত হয়। অনেক ক্ষেত্রে .. উপরের ধাপে কপি করা ফাইলগুলির নীচে তালিকাভুক্ত সমস্ত ফাইল আপনি এখানে তালিকাভুক্ত দেখতে পাবেন। যদি আপনি সেগুলি এখানে পান তবে আপনার সমস্যার কারণ হিসাবে আপনার কাছে একটি নির্দিষ্ট উত্তর রয়েছে have

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

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

সুতরাং আমি বলতে পারি এটির ক্রিপ্টো এবং এসএসএল লাইব্রেরিগুলির সাথে কিছু করার আছে .. তাদের অনুসন্ধান করে:

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

আমাকে উপলব্ধি করিয়েছে যে আমি হ্যাঁ এড়িয়ে ইনস্টলটি স্কিপ করতে ভুলে গেছি।


দুর্দান্ত ইঙ্গিত! আমি কিছু ফ্রেমওয়ার্ক শিরোলেখগুলিকে 'বেসরকারী' তে পরিবর্তন করেছি; কোনও কারণে, এটি তাদের অনুলিপি করার কারণ ছিল ./usr/local/include
বেন মোশার

1
@ বেনমোশার :) কে সাহায্য করতে পেরে সর্বদা আনন্দিত :)
অ্যাবড

1
আমি পেয়েছি সেরা উত্তর। টিপটির জন্য ধন্যবাদ, আমার দিনটি বাঁচিয়েছে। !
newen

নিশ্চিতভাবেই আমি যে উত্তরটি সন্ধান করছিলাম - বিল্ড পণ্য সংরক্ষণ করা আমাকে সমস্যার সঠিক কারণের দিকে নির্দেশ করেছিল।
ডেনিস এল

"সেভ বিল্ট প্রোডাক্টগুলি" সহ এই বিস্তৃত উত্তরটি এত সহায়ক - @ আবড, আপনাকে অনেক ধন্যবাদ। আশা করি কোনও দিন অনুগ্রহ ফিরিয়ে দিতে পারব।
স্কট কর্সক্যাডেন

21

আপনি সংরক্ষণাগার রপ্তানি, তাহলে এটি খুলুন এবং দেখুন /urs/local/includeমধ্যে পণ্য চেষ্টা এই প্রস্তাবনাটি :

প্রতিটি শুঁটি, অধীন Packaging, Private Headers Folder Pathএবং Public Headers Folder Pathসেট করা হয় /usr/local/include। আমি যদি সেগুলি সাফ করি তবে আমি একটি বৈধ সংরক্ষণাগার পাই।

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

আপগ্রেড পর আমার জন্য কাজ আমার নেটিভ অ্যাপ্লিকেশন প্রতিক্রিয়া 0.11.0, Xcode 7এবং CocoaPods 0.39.0.beta.4


1
আমি নিশ্চিত করতে পারি যে এটি কাজ করে! যতক্ষণ না আপনি ব্যক্তিগত এবং সর্বজনীন শিরোলেখের পাথগুলি সাফ করার কথা মনে রাখবেন। এটি মোটামুটি সহজ, যদি আপনি কেবল সমস্ত শুঁটি নির্বাচন করেন, শিরোনামের সন্ধান করুন, তবে সেগুলি একই সাথে সাফ করুন।
Dids

1
আমি এটিও নিশ্চিত করতে পারি যে এটি কাজ করে, আমাকে প্রচুর সময় সাশ্রয় করেছে, আমি যখন আমার পোডগুলি 0.39.0.beta সংস্করণে আপগ্রেড করেছি
ব্রায়ান পি

অসাধারণ. আমার জন্য কাজ করেছেন :) আমি দেড় দিন থেকে লড়াই করে যাচ্ছিলাম। আপনাকে ধন্যবাদ, ধন্যবাদ, ধন্যবাদ :) :) :)
শ্রীকান্ত

আমি মনে করি এটিই আমার জন্য Xcode 7.0 iOS9 এর জন্য কাজ করেছিল। আমার কাছে কোনও কোকোপড নেই, তবে সমস্যাটি হ'ল কম নয়। ধন্যবাদ মানুষ
জেফ এইচ

এটির পাশাপাশি, এই কাজ করার জন্য আমাকে আমার ওয়াচকিট এক্সটেনশান এবং অ্যাপ্লিকেশনটিতে হ্যাঁতে এসকেআইপিএসপিএসএলস্টল সেট করতে হয়েছিল।
তুষারমানের

12

আপনি যদি কোকোপডগুলি পাশাপাশি ওয়াচকিট বা একটি টুডে এক্সটেনশন ব্যবহার করছেন তবে আপনার সমস্যাটি কী হতে পারে তা বোঝাতে কোকোপডস রেপোতে একটি মুক্ত বিষয় রয়েছে

সমাধান আমার জন্য মুছে ফেলার জন্য ছিল Copy Pod ResourcesWatchKit এক্সটেনশান থেকে ফেজ এবং আজ এক্সটেনশন অধীনে লক্ষ্য বানায় Build Phases। প্রকল্পটি সংকলিত এবং প্রত্যাশিত সংরক্ষণাগার হিসাবে আমি একবার এটি করলাম।

আশা করি এটি কাউকে সাহায্য করবে, এটি আমাকে পুরো দিন ধরে স্টাম্পড করেছিল!


1
@ লুইস 42 সর্বদা একটি অনুগ্রহ যোগ করতে পারে;)
রেবেলো 95

বিকল্প হিসাবে দেখতে পাবেন না, আপনার মন্তব্যে একটি আপ করতে হবে;)
লুইস

@ লুইস ৪৪ আপনাকে প্রশ্নের উত্তরে যুক্ত করতে হবে এবং একটি উত্তরে পুরস্কৃত করতে হবে
রেবেলো 95

@ রেবেলো 95, আপনি দোস্ত!
ম্যাট

10

উপরের উত্তরগুলির মধ্যে যদি কোনও কাজ না করে তবে আপনার সমস্যাটি সম্ভবত রয়েছে cocoaPods। সর্বশেষ আপডেটটি 0.38.1আমার জন্য জিনিসগুলিকে গোলমেলে ফেলেছিল তবে আমি এতে ডাউনগ্রেড 0.37.1হয়ে গিয়েছিলাম এবং জিনিসগুলি স্বাভাবিক অবস্থায় ফিরে আসে। ব্যবহারXcode 6.3.1

পরে সম্পাদনা করুন: আপডেট 0.38.2করাও এটি ঠিক করে দেবে। এখানে এই সমস্যার কারণ কী হয়েছে সে সম্পর্কে আরও তথ্য: কোকোপডস 0.38.1 বৈধ সংরক্ষণাগার তৈরি করতে ব্যর্থ হয়েছে failed


3
আমি আপডেট করেছি 0.38.2এবং এখনও সমস্যা আছে। আপনি এক্সকোড 7 এ আছেন?
পোর্টার হোসকিনস

@ পোর্টারহসকিন্স আমি এই সমস্যাটি লিখেছি কারণ এক্সকোড একই প্রকল্প থেকে কোনও বৈধ সংরক্ষণাগার তৈরি করবে না যা এক্সকোড in এ একটি বৈধ সংরক্ষণাগার তৈরি করে । আমি যখন কোকো পডগুলি 0.38.2 ব্যবহার করছি তখন এক্সকোড 6 ব্যবহার করার সময় সমস্ত কিছু ঠিক আছে, তবে এক্সকোড 7 দিয়ে সংরক্ষণাগারটি সঠিকভাবে তৈরি হয় নি। আপনার প্যাকেজে আপনার .app এর বাইরে একটি। অ্যাপেক্স ফাইল রয়েছে কিনা তা পরীক্ষা করার জন্য আপনি কি আপনার ফোল্ডার কাঠামোটি পরীক্ষা করেছেন?
পোলার বিয়ার

আমি একটি কাঠামো আছে /Library/Frameworks। আমি মনে করি এটি একটি গতিশীল কাঠামো হিসাবে নির্মিত না হয়ে গুগলের কোকো পোডগুলির সাথে কিছু করার থাকতে পারে। এটি গিথুব
পোর্টার

3
আমি বিল্ড পর্যায় / শিরোনামের প্রতিটি পোড শিরোলেখার জন্য সর্বজনীন থেকে প্রকল্প বিভাগে স্থানান্তরিত করেছি এবং এটি কার্যকর হয়েছে। সুতরাং প্রকৃতপক্ষে সমস্যাটি কোকোপডসে হতে পারে।
ডেনিস কুতলুবায়েভ

7

যদিও আমি এক্সকোড 5 ব্যবহার করছি এবং এটি আমার জন্য কীভাবে বাছাই করা হয়েছে তা বিল্ড স্কিমটি সম্পাদনা করছিল - উপরোক্ত সমস্ত পরামর্শ যা প্রযোজ্য ছিল তা চেষ্টা করে আমার ক্ষেত্রে সাহায্য করেনি।

আমার দুটি লক্ষ্য ছিল, "অ্যাপ" এবং "অ্যাপ ফ্রি" বলুন। জেনেরিক সংরক্ষণাগার নিয়ে আমার সমস্যাগুলি তখন ঘটল যখন আমি ফ্রি সংস্করণটি সংরক্ষণাগারভুক্ত করার চেষ্টা করছিলাম, যা আমি অ্যাপ্লিকেশনটির 'স্বাভাবিক' সংস্করণের পরে যুক্ত করেছি। আমার ক্ষেত্রে, যখন আমি এর স্কিমটি সরঞ্জামদণ্ডে নির্বাচন করেছি এবং সম্পাদনা প্রকল্পটি বেছে নিয়েছি ... আমি দেখেছি বিল্ড বিভাগটির দুটি লক্ষ্য রয়েছে, নাম অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন বিনামূল্যে F

আমি অ্যাপের জন্য সমস্ত কলামগুলি চেক করে রেখেছি, কেবলমাত্র অ্যাপ্লিকেশন ফ্রি এর কলামগুলি চেক করে রেখেছি এবং ওকে ক্লিক করেছি। পরের বার আমি পণ্য> সংরক্ষণাগারটি বেছে নিয়েছি আমি জেনেরিক সংরক্ষণাগারটির পরিবর্তে আমার অ্যাপ্লিকেশন বিনামূল্যে পেয়েছি। :)


7

আপনার যদি কেবলমাত্র একক প্রকল্প হয়, সম্ভবত এই সমাধানটি কার্যকর হবে। আমি লক্ষ্যটি সদৃশ করার সময় এই সমস্যাটি হয়েছিল। ফলস্বরূপ আমার দুটি টার্গেট সমান্তরাল নির্মিত হয়েছিল। এটি সমস্যার কারণ ছিল। জেনেরিক আইওএস সংরক্ষণাগারটি নির্মিত হয়েছিল।

সমান্তরাল নির্মিত বন্ধ করতে যান

  • স্কিম পরিচালনা করুন,
  • স্কিম সম্পাদনা করুন,
  • সংগ্রহ করতে,
  • অন্যান্য লক্ষ্য মুছে ফেলুন।

5

আইওএস 9 এবং এক্সকোড 7 এ আপডেট করার পরে আমার এই সমস্যা হয়েছিল had জোশ এইচ এর সমাধানটি আমার পক্ষে কাজ করেছে:

প্রতিটি পডে, প্যাকেজিংয়ের অধীনে, ব্যক্তিগত শিরোলেখ ফোল্ডার পাথ এবং পাবলিক শিরোনাম ফোল্ডার পাথ / usr / স্থানীয় / অন্তর্ভুক্ত সেট করা হয়। আমি যদি সেগুলি সাফ করি তবে আমি একটি বৈধ সংরক্ষণাগার পাই।

আমি আমার পডফাইলে স্বয়ংক্রিয়ভাবে এটি করার জন্য একটি পোস্ট ইনস্টল স্ক্রিপ্টও তৈরি করেছিলাম!

    post_install do |installer_representation|
        installer_representation.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['PUBLIC_HEADERS_FOLDER_PATH'] = [""];
                config.build_settings['PRIVATE_HEADERS_FOLDER_PATH'] = [""];
            end
        end
    end

এটি আপনার পডফিলের নীচে যুক্ত করুন এবং চালান pod install


5

আমার ওয়ার্কস্পেসে আমার একাধিক প্রকল্প রয়েছে (জিটিএল, পডস এবং আমার মূল প্রকল্প) এবং এটি আমার জন্য কাজ করেছে:

প্রকল্পটি নির্বাচন করুন, সেখানে 2 ধরণের থাকবে, প্রকল্প আছে এবং লক্ষ্যগুলি রয়েছে

এমন প্রকল্পগুলির জন্য যা আপনার মতো মূল নয় GTLবা PODS:

প্রকল্প:

Skip Install = NO
Installation Directory = /Applications
// For pods
Private Headers Folder Path = ""
Public Headers Folder Path = ""

লক্ষ্যমাত্রাঃ

Skip Install = YES
Installation Directory = /Applications
// For pods
Private Headers Folder Path = ""
Public Headers Folder Path = ""

মূল প্রকল্পের জন্য (যা সাধারণত আপনার পণ্যের নাম হিসাবে একই নামকরণ করা হয়):

প্রকল্প:

Skip Install = NO
Installation Directory = /Applications

লক্ষ্যমাত্রাঃ

Skip Install = NO
Installation Directory = /Applications

প্রতিটি প্রকল্পের আইওএস মোতায়েনের লক্ষ্য এবং সেগুলি একই হয় তা নিশ্চিত করার লক্ষ্যে লক্ষ্য করুন Check


ধাপে ধাপে এটি ব্যাখ্যা করার জন্য থ্যাঙ্কস। এটি আমাকে সত্যই আমার সমস্যা সমাধানে সহায়তা করেছে।
আরসলান

4

আমার এই সমস্যা ছিল। আমার ক্ষেত্রে, এটি ম্যাক অ্যাপ্লিকেশন টার্গেট আইওএস অ্যাপের নির্ভরতা হিসাবে রাখার কারণে হয়েছিল।

এটি সেটআপ হওয়ার কারণটি হ'ল ম্যাক অ্যাপ্লিকেশনটি এমন একটি সরঞ্জাম যা আইওএস অ্যাপের জন্য কিছু ডেটা উত্পন্ন করার জন্য ব্যবহৃত হত, যা পরে বান্ডলে অন্তর্ভুক্ত ছিল।

আইওএস অ্যাপ্লিকেশন নিজেই তৈরি করার আগে আমাকে সেই নির্ভরতা অপসারণ করতে এবং সরঞ্জামটি আলাদাভাবে তৈরি করতে হয়েছিল।


লিপ্পিডির মতো লাইব্রেরিগুলি আইওএস এবং ওএসএক্স উভয় লক্ষ্য নিয়ে আসে, আমি
অসক্স লক্ষ্যটি

4

আমার দৃশ্যে আমি আমার প্রধানত অবজেক্টিভ-সি প্রকল্পের সুইফট কোডটি অন্তর্ভুক্ত করার পরে কেবল ভ্রান্ত "জেনেরিক সংরক্ষণাগার" পাচ্ছিলাম। SwiftSupportএক্সকোড থুথু ফেলেছিল এমন সংরক্ষণাগার ফাইলটির প্রচুর ট্রাবলশুটিং এবং পরীক্ষার পরে, আমি লক্ষ্য করেছি যে ফোল্ডারটি (সুইফট রানটাইমটির জন্য প্রয়োজনীয় ডায়ালিবগুলি সহ) আমার আর্কাইভে একটি ভ্যানিলা ব্র্যান্ড-নতুন সুইফট প্রকল্প অ্যাপ্লিকেশন সংরক্ষণাগার থেকে আলাদা জায়গায় ছিল was ।

আমি Installation Directoryবিল্ড সেটিংসটি পেয়েছি এবং লক্ষ্য করেছি এটি আমার প্রকল্পের একটি কাস্টম পথে সেট করা আছে। আমি কেবল এটিকে মুছলাম (এর জেনেরিক মানটিতে সেট করে /Applications) এবং পরবর্তী বিল্ড -> সংরক্ষণাগারটি আমি প্রত্যাশা অনুযায়ী কাজ করেছি এবং আমাকে একটি সঠিক আইওএস অ্যাপ সংরক্ষণাগার দিয়েছি।

টি এল; ডিআর: আপনার অ্যাপে সুইফট কোড অন্তর্ভুক্ত Installation Directoryকরার সময় আপনার বিল্ড সেটিংটি তার ডিফল্ট মানটিতে সেট করা আছে তা নিশ্চিত /Applicationsকরুন, বিশেষত আপনি যদি কোনও পুরানো প্রকল্প ফাইল দিয়ে শুরু করছেন যা কিছু অপ্রত্যাশিত উত্তরাধিকার বিল্ড সেটিংস থাকতে পারে।


3

অন্যদের একই যাত্রা থেকে বাঁচাতে এখানে রেখে।

আমি দেখতে পেয়েছি যে আমার কর্মক্ষেত্রের স্থির লাইব্রেরি লক্ষ্য থেকে একই অনুলিপি পড রিসোর্সস বিল্ড ফেজটি সরিয়ে ফেলতে হবে।


উপরের স্টাফ প্রচুর চেষ্টা করার পরে, এটি আমার জন্য কাজ করেছে (
এক্সকোড

2

অ্যালেক্স এল এর উত্তর যোগ করুন।

পয়েন্ট 3. 'বিল্ড সেটিংস' পরিবর্তন করুন -> 'অন্তর্ভুক্ত / এক্সএক্সএক্সএক্স' করতে 'পাবলিক শিরোলেখ ফোল্ডার পাথ'ও কাজ করে।


এটি উপরের # 3 এর চেয়ে বেশি সঠিক। আপনি যদি একটি স্ট্যাটিক লাইব্রেরি তৈরি করে থাকেন তবে আপনার শিরোনামগুলি সর্বজনীন হতে হবে
বাইক্যাটল

2

উপরের কেউ যদি আপনাকে সাহায্য না করে ... অনেক সময় পরে .......

আমি বান্ডিল সংস্করণটির জন্য তথ্য.পালিস্টে মানটি মুছে ফেলেছি কারণ আমি কেবল বান্ডিল সংস্করণ শর্ট 1.0 এর সাথে যথেষ্ট খুশি ছিলাম। খারাপ। এটি করবেন না।

* দ্রষ্টব্য আমি প্রকৃতপক্ষে ইউআইতে এটি সম্পাদনা করে এটি করেছি ডান এ বুঝতে পারে না যে এটি তথ্য.পলিট ফাইলটিতে একটি খালি কী রাখবে। আমি মনে করি এটি এটিকে অবৈধ করে তোলে। সংরক্ষণাগার করার সময় আমার বান্ডিলটি অন্যান্য আইটেম হিসাবে প্রদর্শিত হয়েছিল এবং এতে কোনও আইকন ছিল না এবং আমি কোথাও আপলোড করতে পারিনি।

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


1
  1. বিল্ড সেটিংসে যান এবং যুক্ত করুন

    yourAppName / সম্পদ / dist.plist করার কোড সাইন ইন এনটাইটেলমেন্ট

  2. আইওএস ডিভাইস বা বিল্ড টার্গেট হিসাবে নির্বাচিত একটি আসল ডিভাইস সহ সেন্টিমিডি + বি টিপুন

  3. হয়ে গেলে -> "পণ্যগুলি" ফোল্ডারে স্ক্রোল করুন এবং আপনার অ্যাপনাম.অ্যাপটিতে ডান ক্লিক করুন

  4. "ফাইন্ডারে শো" চয়ন করুন

  5. নাম পেইড ( মূল "পি" ) দিয়ে একটি ফোল্ডার তৈরি করুন

  6. আপনার পেওলোড ফোল্ডারে আপনার অ্যাপনামটি অনুলিপি করুন

  7. আপনার পেডলোড ফোল্ডার থেকে একটি জিপ তৈরি করুন

  8. আপনার অ্যাপনাম.আইপিএতে জিপটির নাম পরিবর্তন করুন

সম্পন্ন


1

সবকিছু সম্পর্কে চেষ্টা করার পরে:

  • পরিষ্কার, সংরক্ষণাগার
  • ডেরিভডডাটা, সংরক্ষণাগার মুছুন
  • পুনরায় আরম্ভ করুন Xcode (আমি XCode7 ব্যবহার করছিলাম), সংরক্ষণাগার
  • উপরের সংমিশ্রণগুলি ...

আমি তখন লক্ষ্য করেছি যে আমার বুট পার্টিশনটি 'ফ্রি ডিস্কের জায়গাতে কম' ... প্রায় 1 জিবি বা তার বেশি। আমি রিবুট করেছি, তারপরে প্রায় 18 জিবি ফ্রি পেয়েছি।

তারপরে এক্সকোড এবং প্রকল্প খোলা হয়েছে, সংরক্ষণাগারটি সম্পাদন করেছে ... এবং আশ্চর্যরূপে (একটি সংরক্ষণাগার তৈরির চেষ্টা করার এক ঘন্টা পরে) আমি অবশেষে একটি জেনারিক আর্কাইভ পেয়েছি।

কোনও ফ্রি ডিস্ক ইস্যু যা এটি স্থির করেছে বা ম্যাকোসগুলির একটি রিবুট এটি স্থির করেছে, তবে তা আমার পক্ষে কাজ করে না No


1

আপনার যদি প্রজেক্টে> .xcodeproj ফাইলগুলি থাকে> লক্ষ্য> বিল্ড পর্যায়> লক্ষ্য নির্ভরতা সেখান থেকে সরিয়ে ফেলুন এবং তারপরে আপনার আইপা তৈরি করুন। এটা আমার জন্য কাজ করে. চিয়ার্স

আপনি এখানে উত্তর পেতে পারেন: এক্সকোড আইওএস অ্যাপ সংরক্ষণাগারটির পরিবর্তে জেনেরিক এক্সকোড সংরক্ষণাগার তৈরি করছে


0

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


0

এর আর একটি সম্ভাব্য কারণ হ'ল পৃথক প্ল্যাটফর্মের প্রকল্পগুলিতে "লক্ষ্য নির্ভরতা" এর উল্লেখ রয়েছে। আমার বিশেষ ক্ষেত্রে, আমি এমন একটি প্রকল্পে কাজ করছি যা ওএসএক্স এবং আইওএসের জন্য কোড ভাগ করে দেয়। আইওএস লক্ষ্যগুলির মধ্যে একটিতে, আমি দুর্ঘটনাক্রমে নির্ভরতা হিসাবে একটি ওএসএক্স লক্ষ্য যুক্ত করেছি।


0

পুরোপুরি সুস্পষ্ট হওয়ার জন্য, আমি আমার সমাধান পোস্ট করছি।

আমি এক্সকোড 5.1.1 (5B1008) এ কোনও আইওএস প্রকল্পের সংরক্ষণাগার তৈরির চেষ্টা করে ঠিক একই সমস্যাটি অনুভব করেছি। উপরের কোনও পরামর্শই সমস্যার সমাধান করতে পারেনি এবং তাদের বেশিরভাগই অপ্রাসঙ্গিক (আমার কোনও বিল্ড পর্যায়গুলির অনুলিপি শিরোনাম বিভাগে কোনও ফ্রেমওয়ার্ক যোগ করা হয়নি, এবং কোনও পাবলিক এন্ট্রিও ছিল না)।

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


0

আরও একটি সমাধান, যেহেতু উপরের সমস্তটি আমার পক্ষে কার্যকর হয়নি ...

পরিবর্তিত User Header Search Paths(আমি অনুমান করা Header Search Pathsঠিক যেমন এইরূপ সূচারূভাবে কাজ করবে) এর "$(BUILT_PRODUCTS_DIR)/BlocksKit"

পটভূমি :

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


0

এটি আমার জন্য যেভাবে কাজ করেছে (এক্সকোড 5) আমার 2 টি টার্গেট ছিল এবং আমি যখন স্কিমটি সম্পাদনা করব তখন স্কিম সম্পাদকের বাম প্যানে আপনি [বিল্ড, রান, টেস্ট, প্রোফাইলে XXX.APP, অ্যানালাইজ, আর্কাইভ দেখতে পাবেন ] বিল্ড ফলকটি থেকে, আপনি দেখতে পাবেন আপনার প্রকল্পের লক্ষ্যগুলি তালিকায় তালিকাভুক্ত। একেবারে ডানদিকের প্রান্তে আপনি সংরক্ষণাগার নির্বাচনগুলি দেখতে পাবেন, সংরক্ষণাগারের জন্য নিশ্চিত করুন যে কেবলমাত্র একটি লক্ষ্য নির্বাচিত হয়েছে।

আমার প্রকল্পে আমার লক্ষ্যমাত্রার মধ্যে 2 টি নির্বাচিত ছিল, আমি কেবলমাত্র পণ্যটিতে চেয়েছি সেই লক্ষ্যমাত্রা পরীক্ষা করেছি এবং এটি কার্যকর হয়েছে!


0

আমি এক্সকোডে সম্পূর্ণ অ্যাপ্লিকেশন প্রকল্পটি খোলার মাধ্যমে এই ত্রুটিটি সমাধান করেছি ie অ্যাপ্লিকেশন এবং অন্যান্য প্রকল্প / লাইব্রেরি / ফ্রেমওয়ার্ক সমন্বিত কোনও ওয়ার্কস্পেস খুলছে না

2 টি পৃথক প্রকল্প, একটি কাঠামো বা ভাগ করা লাইব্রেরি এবং একটি আইওএস অ্যাপ্লিকেশন থাকায়, আমি প্রতিটি পৃথকভাবে বিল্ডিংয়ের জন্য সাধারণ .xcworkspace এর পরিবর্তে .xcodeproj ফাইলটি সরাসরি খোলার মাধ্যমে 2 টি পৃথক এক্সকোড উইন্ডো খুলতে হয়েছিল ।

একটি দুর্দান্ত পার্শ্ব প্রতিক্রিয়া হিসাবে, আমি ক্লিন করার পরে এক্সকোড আর প্রতিটি প্রকল্পের প্রতিটি লক্ষ্য পুনর্নির্মাণ করে না , যার ফলে বিল্ড টাইমগুলি সংক্ষিপ্ত হয়।

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


0

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


0

আমার ক্ষেত্রে, আমার একটি কাস্টম স্ক্রিপ্ট ছিল যা কিছু অস্থায়ী ফাইলগুলিতে অনুলিপি করছিল:

${TARGET_BUILD_DIR}/myTempDir

এর অর্থ হ'ল, সংরক্ষণাগারটি এর বিষয়বস্তুগুলি খতিয়ে দেখার জন্য তদন্ত করার পরে, আমি একটি MyTempDir ফোল্ডারটি .app ফাইলের ঠিক পাশেই পেয়েছি। স্ক্রিপ্টটি একবারে পরিবর্তন করে অন্যত্র সংরক্ষণ করার জন্য জিনিসগুলি সাজানো হয়েছিল।


0

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


0

যদি কোকোপডস সহ এক্সকোড 7 ব্যবহার করে v.0.38.2copy pod resourcesআপনার আজকের এক্সটেনশন লক্ষ্য থেকে সরানোর চেষ্টা করুন ।

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


0

আমার আইওএস অ্যাপের প্রকল্পে একটি ওএস এক্স কমান্ড লাইন সরঞ্জাম যুক্ত করার পরে আমি এই সমস্যার মুখোমুখি হয়েছি এবং কমান্ড লাইন সরঞ্জামটির লক্ষ্যমাত্রার জন্য স্কিপ ইনস্টলটি ডিফল্টরূপে NO এ সেট করা হয়েছিল। যেহেতু আপনি স্পষ্টতই কোনও iOS ডিভাইসে কোনও ওএস এক্স বাইনারি ইনস্টল করতে পারবেন না, জেনেরিক এক্সকোড সংরক্ষণাগারটিতে ডিফল্ট আর্কাইভ করা। এই টার্গেটের জন্য ইয়েস এ স্কিপ ইনস্টল সেট করা সমস্যার সমাধান করে।

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