ios - এক্সকোড ব্যবহার করে ত্রুটি "এ জাতীয় কোনও মডিউল" পাওয়া যাচ্ছে না, তবে ফ্রেমওয়ার্কটি রয়েছে




xcode swift (20)

আমি বর্তমানে সুইফটে কোডিং করছি, এবং আমার একটি ত্রুটি হয়েছে:

এমন কোনও মডিউল সামাজিক নয়

তবে আমি বুঝতে পারি না, কারণ মডিউলটি আমার প্রকল্পে রয়েছে, "লিঙ্কযুক্ত ফ্রেমওয়ার্ক এবং লাইব্রেরি" এবং "এম্বেডেড বাইনারিস" এ ঘোষণা করা হয়েছে।

ফ্রেমওয়ার্কগুলি উদ্দেশ্য-সিতে রয়েছে, সুতরাং আমি এটির জন্য একটি ব্রিজ শিরোনাম লিখেছি।

দয়া করে, আমি কীভাবে এক্সকোডটিকে ফ্রেমওয়ার্কটি সনাক্ত করতে পারি?


আপনি যদি কার্থেজ ব্যবহার করছেন তবে বিল্ডিং সেটিংয়ের ফ্রেমওয়ার্কগুলি সাধারণত থাকে

$(PROJECT_DIR)/Carthage/Build/iOS

আপনি যদি carthage update --platform ios --no-build (সময় বাঁচাতে) বিল্ড ফোল্ডারের ভিতরে থাকা ফাইলগুলি পুনরায় প্রতিক্রিয়া দেখানো হবে না, তবে মডিউলগুলি এক্সকোডে উপলব্ধ হবে না।

আমার ক্ষেত্রে, আমি carthage update --platform ios , তারপরে আমার সমস্যাটির সমাধান হয়েছিল।


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

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


আমার ক্ষেত্রে, ফ্রেমওয়ার্ক আমদানি করে আমি কী ভুল করছি তা বের করার অনেক চেষ্টা করার পরে অবশেষে আমি আবিষ্কার করেছি যে কাঠামোটি নিজেই সমস্যা was যদি আপনি কোনও বিশ্বস্ত উত্স থেকে আপনার কাঠামোটি না পেয়ে থাকেন তবে আপনার কাঠামোটি পরীক্ষা করা উচিত এবং এটির ভিতরে এটির একটি মডিউল.মডিউলম্যাপ ফাইলের সাথে একটি মডিউল ফোল্ডার রয়েছে তা নিশ্চিত করা উচিত। যদি মডিউল.মডিউলম্যাপ উপস্থিত না থাকে তবে আপনি "মাইফ্রেমওয়ার্ক 'এর মতো কোনও মডিউল পাবেন না get

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


আমার জন্য বিল্ড অ্যাক্টিভ আর্কিটেকচার নির্বাচিত কনফিগারেশনের জন্য কেবল হ্যাঁ সেট করা হয়েছিল। এটি কৌশলটি করেছে:

বাম প্রজেক্ট ন্যাভিগেটর থেকে "পডস" নির্বাচন করুন> "বিল্ড সেটিংস" নির্বাচন করুন> সক্রিয় আর্কিটেকচার কেবলমাত্র না তৈরি করুন


আমি Cocoapods ব্যবহার করে Cocoapods কয়েকটি ফ্রেমওয়ার্ক যুক্ত করার সময় একই ত্রুটিটি Cocoapods । আমরা যদি আমাদের প্রকল্পে পড ব্যবহার করি তবে আমাদের xcodeworkspace পরিবর্তে xcodeworkspace ব্যবহার করা উচিত। এক্সকোডবিল্ডের মাধ্যমে প্রজেক্টটি চালানোর জন্য, আমি xcodebuild কমান্ডে -workspace <workspacename> পরামিতি যুক্ত -workspace <workspacename> এবং এটি পুরোপুরি কার্যকর হয়েছে।


আমি ইতিমধ্যে পোড ইনস্টল করেছি। আমি যখন আমার ডিভাইসে অ্যাপ্লিকেশন তৈরি করেছি তখন বিল্ড কোনও সমস্যা ছাড়াই কাজ করেছিল, কিন্তু সংরক্ষণাগারটি কাজ করে না। আমি কেবল চালাচ্ছি:

pod install

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


আমি একই ত্রুটি পেয়েছিলাম

import Firebase

তবে তখন লক্ষ্য করা গেছে যে আমি প্রধান লক্ষ্য বিভাগে পড যোগ করছি না তবে পডফাইলে কেবল টেস্ট এবং টেস্টইউআই লক্ষ্যগুলিতে যুক্ত করছি।

কমান্ড দিয়ে

pod init

একটি এক্সকোড সুইফ্ট প্রকল্পের জন্য, নিম্নলিখিত পডফিল তৈরি করা হয়েছে

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'MyApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp

  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'MyAppUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

সুতরাং, এটি নিশ্চিত করে নেওয়া দরকার যে কোনওটি উপযুক্ত স্থানধারকটিতে শাঁস যুক্ত করেছে।


আমি এটি সঙ্গে স্থির

লক্ষ্যসমূহ -> সাধারণ -> লিঙ্কযুক্ত ফ্রেমওয়ার্ক এবং লাইব্রেরি

Workspace ফোল্ডারে শীর্ষে থাকা ফ্রেমওয়ার্কটি যুক্ত করুন। পাছায় ব্যথা


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


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


এটি শুক্রবার বিকেলে বা যে কোনও সময় সকাল 1 টার পরে:

xcodeproj পরিবর্তে xcodeproj খোলার xcodeproj ত্রুটির কারণ হবে ...


এটির মূল্যের জন্য (আমি এক্সকোড .2.২ / সুইফট ২ ব্যবহার করে এটিতে নতুন), তবে আমি লক্ষ্য করেছি যে প্রকল্প ডিরেক্টরিতে লাইব্রেরি থেকে .swift ফাইলটি আপনাকে স্বয়ংক্রিয়ভাবে এটিকে অ্যাক্সেস দেয় এবং ব্যবহারের বিবৃতিটির প্রয়োজন হয় না।

উদাহরণ: আমি সুইফটিজেসন ব্যবহার করছি এবং প্রকল্পে স্যুইফটিজেএসএন.সুইফ্ট ফাইল থাকা আমার যা প্রয়োজন তা ছিল। using বিবৃতিটি আসলে আমাকে 'এ জাতীয় কোনও মডিউল' ত্রুটি দিচ্ছিল এবং এটির সমাধান করে নিল এবং এটি ঠিক কাজ করে works


কেন এটি ঘটে তা সম্পর্কে আমি নিশ্চিত নই, তবে আপনার সমস্যা সমাধানের একটি উপায় হ'ল আপনার বিল্ড সেটিংসে প্রবেশ করা এবং ফ্রেমওয়ার্ক অনুসন্ধানের পাথগুলিকে কোনও ফোল্ডারে সংজ্ঞায়িত ফ্রেমওয়ার্ক রয়েছে। যদি ফ্রেমওয়ার্কগুলি আপনার প্রকল্প ডিরেক্টরিতে স্থাপন করা হয় তবে কেবল ফ্রেমওয়ার্ক অনুসন্ধানের পথটি $(SRCROOT) সেট করুন এবং এটি পুনরাবৃত্ত করতে সেট করুন।


কেবলমাত্র অন্য সম্ভাবনার সাথে সম্পূর্ণ করার জন্য, "অন্তর্ভুক্ত নির্ভরতাগুলি অনুসন্ধান করুন" বিকল্পটি চেক করা না হলে এই ত্রুটিটি ঘটতে পারে। সম্পাদনা স্কিম -> বিল্ড এ যান।

তারপরে এই বিকল্পগুলি পরীক্ষা করুন।


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


দয়া করে আপনার স্ক্রিনশটটি আপনার বিল্ড সেটিংয়ের সাথে তুলনা করুন। এটি এই কাজ হতে পারে। ফ্রেমওয়ার্ক অনুসন্ধানের পথে যান:


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

এটি হ'ল, যদি আপনার "অ্যাপস্টোর" নামের একটি কনফিগারেশন সহ "প্যারেন্ট" প্রকল্প রয়েছে তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সমস্ত উপ-প্রকল্পেরও এই কনফিগারেশনের নাম রয়েছে।

আমার সংযুক্ত স্ক্রিনশট দেখুন।


নিশ্চিত হয়ে নিন যে, স্কিমে বিল্ড অপশনগুলিতে Find implicit Dependencies সন্ধান করুন!


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


ফ্রেমওয়ার্কটি সত্যই আছে এবং ধরে আছে ইত্যাদি ধরে নিয়ে ... ~ / লাইব্রেরি / বিকাশকারী / এক্সকোড / ডেরিভডডাটা / মডিউলক্যাচ ডিরেক্টরি মুছুন (এবং প্রকল্পটি পরিষ্কার করুন এবং ভাল পরিমাপের জন্য প্রকল্প-নির্দিষ্ট উত্পন্ন ডেটা মুছুন)।

আপনি যখন স্ট্যান্ডার্ড ক্লিনআপ করেন, মডিউল ক্যাসি ডিরেক্টরিটি পুনর্নির্মাণ হয় না।








swift