ios - meaning - itunessetup 1




কাঠামোর সাথে iOS অ্যাপ্লিকেশনটি ডিভাইসে ক্র্যাশ করেছে, ডিল্ড: লাইব্রেরি লোড করা নেই, এক্সকোড 6 বিটা (15)

এই ক্র্যাশ একটি ব্লকিং সমস্যা হয়েছে, মূলত আমি এই সমস্যাটি পুনরুত্পাদন করতে নিম্নলিখিত ধাপগুলি ব্যবহার করেছি:

  • একটি কোকো টাচ ফ্রেমওয়ার্ক প্রকল্প তৈরি করুন
  • একটি দ্রুতগামী ফাইল এবং একটি বর্গ কুকুর যোগ করুন
  • ডিভাইসের জন্য কাঠামো তৈরি করুন
  • সুইফ্টে একটি একক ভিউ অ্যাপ্লিকেশন তৈরি করুন
  • অ্যাপ্লিকেশন প্রকল্পে আমদানি ফ্রেমওয়ার্ক
  • ViewController মধ্যে ফ্রেমওয়ার্ক থেকে Instantiate দ্রুত ক্লাস
  • ডিভাইস তৈরি করুন এবং চালান

অ্যাপ্লিকেশন অবিলম্বে আরম্ভের উপর ক্র্যাশ, এখানে কনসোল লগ:

dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
  Referenced from: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
  Reason: image not found

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


আইওএস এর চেয়ে বেশি বা সমান 8

লক্ষ্যের সাধারণ ট্যাবের অধীনে, এমবেডেড ব্যানার বিভাগে ফ্রেমওয়ার্ক যুক্ত করুন। এই কাঠামো কম্পাইল করা হবে যাতে এটি রানটাইম এ লিঙ্ক করা যেতে পারে।

এটি কেন ঘটছে? : যে ফ্রেমওয়ার্কটি আপনি লিঙ্ক করছেন তা একটি গতিশীলভাবে সংযুক্ত ফ্রেমওয়ার্ক হিসাবে সংকলিত এবং এইভাবে রানটাইম এ লিঙ্কযুক্ত।

দ্রষ্টব্য: কাস্টম ফ্রেমওয়ার্কগুলি এমবেড করা কেবল iOS> 8 এ সমর্থিত এবং এইভাবে এবং বিকল্প সমাধান যা iOS এর পুরানো সংস্করণগুলিতে কাজ করে।

8 থেকে কম iOS জন্য

যদি আপনি এই কাঠামোর উপর প্রভাব ফেলে থাকেন (সোর্স কোড / বিল্ড প্রক্রিয়া অ্যাক্সেস আছে) আপনি গতিশীলভাবে লিঙ্কের পরিবর্তে স্থিরভাবে সংযুক্ত হতে এই কাঠামোটি পরিবর্তন করতে পারেন। এই কোডটি আপনার কম্পাইল করা অ্যাপ্লিকেশনে রানটাইম-এর সাথে লিঙ্ক করার পরিবর্তে অন্তর্ভুক্ত করবে এবং এইভাবে ফ্রেমওয়ার্কটি এম্বেড করতে হবে না।

কিভাবে: ফ্রেমওয়ার্কের বিল্ড সেটিং ট্যাবের অধীনে, লিংকিং বিভাগে ম্যাক-ও টাইপ টু স্ট্যাটিক লাইব্রেরি পরিবর্তন করুন। আপনাকে এখন এমবেডেড বাইনারিগুলির অধীনে ফ্রেমওয়ার্ক অন্তর্ভুক্ত করতে হবে না।

সম্পদ সহ: চিত্র, অডিও, বা xib / nib ফাইলগুলির মতো জিনিসগুলি অন্তর্ভুক্ত করার জন্য আমি একটি বান্ডেল তৈরি করতে সুপারিশ করছি (মূলত একটি ডিরেক্টরি, এখানে আরও তথ্য bit.ly/ios_bundle) এবং তারপর NSBundle ব্যবহার করে বান্ডিল থেকে সম্পদগুলি লোড করুন।


  1. এক্সকোড ফাইল -> ওয়ার্কস্পেস সেটিংস যান
  2. এর পাশে অবস্থিত তীরটি ক্লিক করুন যা ব্যবহারকারী / অ্যাপল / লাইব্রেরি / বিকাশকারী / এক্সকোড / ডেরিভেডডটা
  3. প্রাপ্ত ডেটা নির্বাচন করুন এবং ট্র্যাশে সরান।
  4. বেশিরভাগ xcode এবং এটি পুনরায় খুলুন।
  5. প্রকল্প পরিষ্কার এবং আবার চালানো।

উপরের পদক্ষেপ আমার ইস্যু সমাধান।


আপনি যদি তৃতীয়-পক্ষের ফ্রেমওয়ার্ক ব্যবহার করেন এবং আপনার নির্ভরশীলতা পরিচালক হিসাবে কোকোপডগুলি ব্যবহার করে আপনার পডগুলি রিফ্রেশ pod install জন্য pod install করার চেষ্টা করুন।

এই ক্র্যাশটি আমি ব্যবহার করছিলাম এমন তৃতীয় পক্ষের লাইব্রেরিতে ঘটছে, তাই উপরের সমাধানটি আমার জন্য কাজ করে আনন্দিত, আশা করি এটি আপনার জন্য কাজ করে!


আমাকে (এখানে উল্লেখিত শীর্ষের উপরে) বিল্ড সেটিংস ট্যাবের অধীনে রানপথ অনুসন্ধান পাথগুলিতে নিম্নলিখিত লাইন যুক্ত করতে হয়েছে:
@executable_path/Frameworks


আমার পরিবেশ: কোকোস 2 ডি 2.0, বক্স 2 ডি, উদ্দেশ্য সি

উপরের অন্যান্য উত্তরগুলি করার পাশাপাশি আমি অবশেষে জেনারেল ট্যাবে গিয়েছিলাম এবং ওয়াচকিট ঐচ্ছিক তৈরি করেছিলাম।


আমারও একই প্রশ্ন ছিল. আমি এমন একটি আইফোন দিয়ে আমার প্রকল্পটি তৈরি করার চেষ্টা করেছি যা আমি আগে কখনও ব্যবহার করিনি এবং আমি একটি নতুন ফ্রেমওয়ার্ক যোগ করি নি। আমার জন্য, পরিষ্কার কাজ পরিষ্কার ( Shift + কমান্ড + কে )। সম্ভবত এটি কারণ আমি iOS 9 বিটা সহ এক্সকোড 7 এবং আইফোন 6 এর বিটা 5 ব্যবহার করি, তবে এটি কাজ করে।


আমি সুইফট 3 / এক্সকোড 8.1 ব্যবহার করে একটি ফ্রেমওয়ার্ক তৈরি করেছি এবং এটি একটি উদ্দেশ্য-সি / এক্সকোড 8.1 প্রজেক্টে ব্যবহার করছিলাম। এই সমস্যাটি সমাধানের জন্য আমাকে Build Options অধীনে Always Embed Swift Standard Libraries বিকল্প সক্ষম করতে হয়েছিল।

এই স্ক্রিনশটটি দেখুন:

আশা করি এইটি কাজ করবে!


ইন্টারনেটে উপলব্ধ সমস্ত পদ্ধতি এবং আমার নিজের ট্রায়াল এবং ত্রুটি ট্রিকগুলি 100 বার চেষ্টা করার পরে। অবশেষে আমি এটা সমাধানের জন্য সক্ষম ছিল। - অপেক্ষার সাহু 6 মিনিট আগে
ম্যাকের গোটো আইটিউনস -> অ্যাকাউন্ট -> এই কম্পিউটারটি অনুমোদন করুন - 5 মিনিট আগে অ্যাপপেশা সাহু
দ্বিতীয় পদক্ষেপ .... আইপ্যাড এবং আইফোন সেটিংস মধ্যে Goto বিকাশকারী এবং সনাক্তকারী এবং স্পষ্ট বিশ্বাস কম্পিউটার সবকিছু সঙ্গে reindex। এটি আমার জন্য কাজ করেছে .... ....... ম্যাক OSHigh Seria 10.13.15 সংস্করণটি ম্যাক ওএস সিরারা বিটা সর্বশেষ সংস্করণ থেকে পুনরায় ইনস্টল করার পরে, সমস্ত শংসাপত্র আপডেট করার পরে এক্সকোড সর্বশেষ সংস্করণটি পুনরায় ইনস্টল করার জন্য। ইত্যাদি ইত্যাদি ইত্যাদি ... আমি মনে করতে পারেন হিসাবে অনেক পদ্ধতি আমি করেছি। -


এমবেডেড বাইনারিগুলিতে ফ্রেমওয়ার্ক যুক্ত করুন

তারপর পরিষ্কার এবং বিল্ড।


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

রেফারেন্স here অ্যাপল বিকাশকারী ফোরামে।


প্রথমে কমান্ড + বিকল্প + Shift + K এর পরে তৈরি করার চেষ্টা করুন। যদি এখনও ব্যর্থ হয় তবে নীচের পদক্ষেপগুলি করুন।

যদি কেউ এই কোডটি এক্সকোড 8 এ মুখোমুখি হয় তবে আপনার লক্ষ্যমাত্রার সাধারণ ট্যাবের পরিবর্তে প্রয়োজনীয়তার পরিবর্তে আপনার ফ্রেমওয়ার্ক স্থিতিটি পরিবর্তন করুন।


বিস্ময়করভাবে, প্রয়োজনীয় টুকরা সমস্ত এখানে অন্তত Xcode 8 জন্য নথিভুক্ত করা হয় না।

আমার কেস একই কর্মক্ষেত্রের অংশ হিসাবে একটি কাস্টম-নির্মিত ফ্রেমওয়ার্ক ছিল। এটা ভুলভাবে নির্মিত হচ্ছে সক্রিয় আউট। এই থ্রেডে জেরেমিহুর শেষ প্রতিক্রিয়ার উপর ভিত্তি করে:

https://forums.developer.apple.com/thread/4687

ফ্রেমওয়ার্কের Build Settings এর অধীনে Dynamic Library Install Name Base ( DYLIB_INSTALL_NAME_BASE ) সেট করতে হয়েছিল এবং তারপরে এটি পুনর্নির্মাণ করা হয়েছিল। এটি ভুলভাবে $(LOCAL_LIBRARY_DIR) সেট করা হয়েছিল এবং আমি এটি @rpath পরিবর্তন করতে @rpath

সুতরাং লিংক প্রক্রিয়াকরণের পর্যায়ে, এটি হোস্ট অ্যাপটিকে /Library/Frameworks/fw.Framework/fw / /Library/Frameworks/fw.Framework/fw /Frameworks/fw.Framework/fw /Library/Frameworks/fw.Framework/fw / /Library/Frameworks/fw.Framework/fw (যেমন, ফাইল সিস্টেমের রুট) থেকে গতিশীলভাবে লোড করার জন্য নির্দেশনা প্রদান করে /Library/Frameworks/fw.Framework/fw -টু-অ্যাপ /Frameworks/fw.Framework/fw

অন্যান্য সমস্ত সেটিংসের বিষয়ে: এটি Build Phases 3 টি স্থানে থাকা দরকার, তবে এটি Embedded Binaries হোস্টিং অ্যাপ্লিকেশনের General ট্যাবের Embedded Binaries সেটিংসে যুক্ত করার সাথে সাথে সেটআপ করা হয়।

আমি একটি অতিরিক্ত Copy Files ফেজ সেট আপ করতে হবে না , যেহেতু এমবেডিং পর্যায়ে যাইহোক intuitively অবাধ্য বলে মনে হয়। বিল্ড ট্রান্সক্রিপ্টের লেজ শেষে চেক করে আমরা নিশ্চিত যে এটি প্রয়োজনীয় নয়।

PBXCp /Users/xyz/Library/Developer/Xcode/DerivedData/MyApp-cbcnqafhywqkjufwsvbzckecmjjs/Build/Products/Debug-iphoneos/MyFramework.framework

[অনেক verbose লাইন মুছে ফেলা হয়েছে, কিন্তু Xcode UI এ সরলীকৃত ট্রান্সক্রিপ্ট থেকে এটি স্পষ্ট।]

DYLIB_INSTALL_NAME_BASE আমার উপর ভুলভাবে DYLIB_INSTALL_NAME_BASE মান সেট করে কেন তা আমি এখনও জানি না


যারা ফিক্স কাজ করে না তাদের জন্য, ওএসএমটিতে ওএস আপডেট করার চেষ্টা করুন। এটা আমার জন্য কাজ!


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

আরো তথ্যের জন্য আমার লক্ষ্যে একটি 'ফাইল বিল্ড ফেজ কপি করুন' কীভাবে যোগ করবেন তা দেখুন।

অফিসিয়াল অ্যাপল ডক্স: https://developer.apple.com/library/mac/recipes/xcode_help-project_editor/Articles/CreatingaCopyFilesBuildPhase.html


বিল্ড ফেজ-> এম্বেড ফ্রেমওয়ার্কগুলিতে "কেবলমাত্র ইনস্টল করার সময় কপি করুন" নির্বাচন করে আমার জন্য সমাধান করা হয়েছে







xcode6