সুইফট 3.0 দিয়ে সংকলিত মডিউলটি সুইফট 3.0.1 এ আমদানি করা যায় না


87

আমি এক্সকোডকে 8.1 GM তে আপগ্রেড করেছি এবং এখন SwiftyJSON এর জন্য নীচের ত্রুটি পাচ্ছি। অন্যান্য আমদানি করা ফ্রেমওয়ার্কগুলি কাজ করছে বলে মনে হচ্ছে। সুইফটিজেএসএন তাদের কাঠামো আপগ্রেড না করা পর্যন্ত সুইফট 3 এ কাজ করার জন্য কি কোনও উপায় আছে? আমি ফ্রেমওয়ার্কগুলি আমদানি / আপডেট করতে কার্থেজ ব্যবহার করেছি। আমি Use Legacy Swift language versionঅন ​​ও অফ করার চেষ্টা করেও কোনও লাভ হয়নি।

সুইফট with.০ সহ সংকলিত মডিউলটি সুইফট .1.০.১ এ আমদানি করা যায় না: মডিউল / সুইফটিজেএসএন.সভিটমডিউল / আর্ম .64।সুইফ্ট মডুল

উত্তর:


171

কার্টেজ দ্বারা সুইফটিজসন প্রম্পম্পাইল ডাউনলোড করা হচ্ছে। পূর্বনির্ধারিত ডাউনলোডটি সুইফট সংস্করণ 3.0 এর সাথে। এটি সংকলকটি অভিযোগ করে যে সংস্করণটি সঠিক নয়। নিম্নলিখিত কমান্ড ব্যবহার করে:

carthage update --platform iOS --no-use-binaries

সুইফটিজসন (এবং কার্থেজের মধ্যে থাকা অন্যান্য সমস্ত ফ্রেমওয়ার্ক) স্থানীয়ভাবে সুইফটের স্থানীয় সংস্করণ (3.0.0) ব্যবহার করে সংকলিত হবে এবং সংকলকটি আর অভিযোগ করবে না।


7
আপনি সম্ভবত আমাকে অনুসন্ধানের এক ঘন্টা বাঁচিয়েছেন। ধন্যবাদ.
ডিজেভি

24
আপনি স্বাগত জানাই। সৎ কার্থেজ হওয়ার জন্য কিছুটা বুদ্ধিমান হওয়া উচিত এবং সুইফ্ট সংস্করণ নম্বরটি পরীক্ষা করা উচিত।
zirinisp

অন্য কোন ধারণা? কারণ এটি আমার পক্ষে কাজ করে নি, যদিও আমার ক্ষেত্রে আমার আনবক্সে সমস্যা হচ্ছে
Xernox

এটি দুর্দান্ত ছিল। এটিকে এম্বেড করার কোনও উপায় কি Cartfileযাতে আমি carthage updateসহকারী বিকাশকারীদের অতিরিক্ত পতাকাগুলি সম্পর্কে জানতে / চিন্তার প্রয়োজন ছাড়াই কেবল টাইপ করতে পারি?
ক্রেগ ওটিস

4
এক্সকোড ৮.০ থেকে এক্সকোড ৮.১ এ আপডেট করার পরে আমার প্রমিসকিট with.০ এর সাথে একইরকম ত্রুটি হয়েছিল আমি একটি EXC_BAD_ACCESS ত্রুটি করছিলাম। শেষ পর্যন্ত, প্রতিশ্রুতিটি দ্রুততম 3.0.1 সহ পুনরায় সংযোগ করতে হয়েছিল এবং সমস্যাটি সমাধান করা হয়েছিল।
রিকার্ডো আনজস

21

ডেরিভডটা থেকে অ্যাপ চ্যাচটি সরান এবং পুনর্নির্মাণ করুন। ত্রুটি ঠিক করা যেতে পারে।

ডেরিভেডডাটা পথটি এর মতো:

~/Library/Developer/Xcode/DerivedData/

আমার জন্য পরিশ্রমী, আমি এই ফলটারটি সরিয়েছি, পড ফোল্ডারটি সরিয়েছি এবং "পড ইনস্টল" ব্যবহার করব। এবং স্থির।
জোসে পোজ এস

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

ধন্যবাদ আমার জন্যও
হাস্যা

10

আপনার অ্যাপ্লিকেশন ফোল্ডারে আপনি নতুন এক্সকোড 8.1 জিএম প্যাকেজটি রেখেছেন তা নিশ্চিত করুন। যখন আমরা একজন আমাদের নির্ভরতা আপডেট করার জন্য কার্থেজ চালাচ্ছিলাম তখন আমরা এই সমস্যাটিতে উপস্থিত হয়েছি, তবে অ্যাপ্লিকেশন ফোল্ডারে এক্সকোড পুরাতন 8.0 অ্যাপ্লিকেশনটি প্রতিস্থাপন করেনি (8.1 জিএম ডেস্কটপটি বন্ধ ছিল)।

আপনি নিশ্চিত করতে চান যে আপনি যখন নিম্নলিখিত টার্মিনালটিতে চালাবেন: xcrun swift -versionএটি ফিরে আসে Apple Swift version 3.0.1


এটি আমার জন্য কাজ করেছে, আপনাকে ধন্যবাদ! টার্মিনালে কাজ করা কমান্ডটি ছিল এক্সক্রুন সুইফট
রূপান্তর

4
এখনও একই ইস্যু পেয়েছি। অন্য কোনও পরামর্শ
কঠোর_v

4
এই কমান্ডটি আমার জন্য কাজ করেছে: কার্টেজ আপডেট - প্ল্যাটফর্ম আইওএস - না-ব্যবহার-বাইনারি
এইচএইচ 887

4
আমি করেছি carthage update --platform iOS --no-use-binariesএবং এটি এখনও কাজ করে না। আমি আমার প্রকল্পটি সাফ করে দিয়ে এক্সকোডটি পুনরায় চালু করেছি এবং আমি এখনও ত্রুটি পেয়েছি। আমি আর কিছু চেষ্টা করতে পারি?
ক্লিফটন ল্যাব্রাম

4
আমি চেষ্টা করেছিলাম। এটি ফিরে আসেApple Swift version 3.0.1 (swiftlang-800.0.58.6 clang-800.0.42.1) Target: x86_64-apple-macosx10.9
ক্লিফ্টন ল্যাব্রাম

9

Xcodeটার্মিনালে নতুনকে ডিফল্ট আপডেট করা আমার পক্ষে কাজ করেছিল।

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

sudo xcode-select -switch <path/to/>Xcode.app

পদক্ষেপ 2: এখন কার্টেজ আপডেট কমান্ড চেষ্টা করুন

carthage update --platform iOS

9

কেবল সর্বশেষ আপডেটগুলি দিতে:

কার্থেজ 0.20 সংস্করণ প্রকাশ করেছে 27 ফেব্রুয়ারী, 2017 এ ।

কার্থেজ এখন কেবল প্রাক-বিল্ড বাইনারি ব্যবহার করে যদি উপলভ্য প্রাক-বিল্ড বাইনারি উপযুক্ত হয়

বলা হচ্ছে, আপনাকে আর ব্যবহার করতে হবে না: --no-use-binaries অসম্পূর্ণ প্রাক-বিল্ডিং কাঠামো এড়াতে।

সুতরাং আপনার কাছে কার্থেজ সংস্করণটি আরও বেশি0.20 এবং সহজভাবে করার বিষয়টি নিশ্চিত করুন:

carthage update --platform iOS

এক্সকোড 8.3.3 কার্থেজকে 0.25 সংস্করণে আপডেট করার পরে এবং নীচের কাজ করার পরে, এটি আমার পক্ষে কার্থেজ আপডেট - প্ল্যাটফর্ম আইওএস
কোনও

@ anoop4real এটি আপনার জন্য ছাড়া কাজ করে না --no-use-binaries? বাইনারি আপনার সংকলক সংস্করণের সাথে সামঞ্জস্যপূর্ণ কিনা তা কার্থেজ সনাক্ত করতে সক্ষম হওয়া উচিত। যদি সামঞ্জস্য না হয় তবে এটি ডাউনলোড করা বাইনারিটি স্বয়ংক্রিয়ভাবে ফেলে দেবে এবং স্থানীয়ভাবে কাঠামো তৈরি করবে।
কানেকিন

5

ঠিক যেমন @ জিরিনিস্প বলেছিলেন:

  1. আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:carthage update --platform iOS --no-use-binaries
  2. নিম্নলিখিত কমান্ডটি ব্যবহার করে: xcrun swift -versionসুইফ্ট সংস্করণটি দেখতে
  3. এটি করুন: Xcode->preferences->locationsউত্পন্ন ডেটা এবং সংরক্ষণাগারগুলির ডেটা সাফ করতে, কমান্ড লাইন সরঞ্জামগুলিকে "এ পরিবর্তন করা সবচেয়ে গুরুত্বপূর্ণXcode 8.1 " এ
  4. নিম্নলিখিত কমান্ডটি ব্যবহার করে: xcrun swift -versionআপনি সুইফট সংস্করণটি দেখতে পাবেন 3.0.0
  5. সেট Use Legacy Swift Language Version = NO

আমি আশা করি এটা তোমাকে সাহায্য করবে


1
  1. এক্সকোড / অ্যাপ্লিকেশন ফোল্ডারে যদি বিটা / জিএম সংস্করণটি সরান এবং এটির নাম Xcode-beta a

  2. এর আউটপুট পরীক্ষা করুন:

    xcrun swift --version

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

  1. নিম্নলিখিত কমান্ডটি চালিয়ে এক্সকোড সংস্করণটি টার্মিনালে সর্বশেষে আপডেট করুন:

    sudo xcode-select -s /Applications/Xcode-beta.app/

  2. আইওএসের জন্য লাইব্রেরিগুলি তৈরি করুন এবং কার্টেজকে নিম্নোক্ত কমান্ডটি চালিয়ে বিদ্যমান (এখনও বেমানান) পূর্বনির্ধারিত বাইনারিগুলি ডাউনলোড করতে বাধা দেয়:

    carthage update --platform iOS --no-use-binaries

  3. ক্লিন অ্যান্ড বিল্ড


0

লাইব্রেরিতে আমার ঠিক একই সমস্যা ছিল XCTest_Gherkin, এটি আমার জন্য যা কাজ করেছিল তা হ'ল:

  1. Product-> Scheme->XCTest-Gherkin
  2. Product -> Build

আশা করি এটা সাহায্য করবে. আমি কোকোপড ব্যবহার করছি।


0

এক্সকোড বিল্ড সেটিংসে আপনার ফ্রেমওয়ার্ক অনুসন্ধানের পাথগুলিতে উপযুক্ত কার্থেজ বিল্ড ফোল্ডার রয়েছে তা নিশ্চিত করুন :

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