অ্যাপল তাদের নতুন প্রোগ্রামিং ভাষা সুইফ্টের সাথে পরিচয় করায় আমি অবাক হই যে আপনি কোকোপডসের মাধ্যমে উপলভ্য বিদ্যমান অবজেক্টিভ-সি লাইব্রেরির সাথে কীভাবে এটি সংহত করতে পারবেন ?
উত্তর:
কোকোপডস ০.০6 এবং তার উপরেuse_frameworks!
নির্দেশাবলী প্রবর্তন করে যা বোঝায় যে সুইফটে অবজেক্টিভ-সি পোড আমদানির জন্য ব্রিজিং শিরোনামের প্রয়োজন নেই।
এমবিপ্রোগ্রেসএইচডি এবং অ্যালামোফায়ার ব্যবহার করে দয়া করে একটি সম্পূর্ণ উদাহরণের নীচে সন্ধান করুন :
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.3'
use_frameworks!
pod 'Alamofire', '>= 1.2.2' # Swift pod
pod 'MBProgressHUD', '>= 0.9.1' # Objective-C pod
আপনার ব্রিজিং হেডার থেকে # আমদানি সরিয়ে ফেলুন বা এমনকি ব্রিজিং শিরোনাম ফাইলটি আপনার প্রয়োজন না থাকলে মুছুন। আপনি যদি পরবর্তী সম্ভাবনাটি বেছে নেন তবে আপনার এক্সকোড প্রকল্পের কনফিগারেশনে পাথটি (এই মুছে ফেলা ব্রিজিং শিরোলেখ ফাইলটিতে) মুছে ফেলতে ভুলবেন না।
এই শ্রেণীর (এস) প্রয়োজন প্রতিটি সুইফট ফাইলের শীর্ষে যুক্ত করুন import MBProgressHUD
এবং / অথবাimport Alamofire
আপনি এখন প্রচুর ফ্রেমওয়ার্ক ব্যবহার করছেন, সুতরাং আপনার এনামগুলি ফ্লাইটে চলে গেছে! আপনার কাছে সুইফ্টের একটি লাইন থাকতে পারে যা ব্রিজিং শিরোনামের সাথে ভাল ছিল:
progressHUD.mode = MBProgressHUDModeIndeterminate
এটি এখন এটি হয়ে উঠতে হবে:
progressHUD.mode = MBProgressHUDMode.Indeterminate
কোনও বড় বিষয় নয়, ত্রুটিগুলির স্তূপ আপনাকে ভুল পথে চালিত করতে পারে যে আপনি যদি প্রচুর উদ্দেশ্য-সি এনাম ব্যবহার করেন তবে আপনার চেয়ে বড় সমস্যা রয়েছে।
( এই উত্তরের উত্স )
আপনার তথ্যের জন্য: আমি অনুমান করি (নিশ্চিত হওয়ার জন্য আপনাকে নিজেরাই পরীক্ষা করতে হবে) যে ব্যবহার_ফ্রেমওয়ার্কস! আপনার পোডফাইলে নির্দেশাবলী কেবল আইকন> = 8 কে লক্ষ্য করে এক্সকোড প্রকল্পের সাথেই উপযুক্ত।
মনে হচ্ছে প্রক্রিয়াটি কোকো এবং অবজেক্টিভ-সি ডকুমেন্টেশনের সাথে সুইফট ব্যবহারের মিশ্রণ এবং ম্যাচ বিভাগে বর্ণিতটির মতো ।
pod install
।Example-Bridging-Header.h
, এবং এটি প্রকল্পে যুক্ত করুন addObjective-C Bridging Header
আপনার টার্গেটের জন্য সেট করুন :এখন আপনি আপনার গ্রন্থাগারটি সেক্ষেত্রে এমকিউএনইটস আপনার সুইফট ফাইলটিতে ব্যবহার করতে পারেন:
let kilograms = NSNumber.mass_kilogram(2)()
let pounds = NSNumber.mass_pound(10)()
let result = kilograms.add(pounds)
println(result)
আরও এখানে: একটি সুইফট প্রকল্পের সাথে কোকোপডগুলিকে একীকরণ করা হচ্ছে
#import <Reachability/Reachability.h>
পরিবর্তে প্রকল্প দির, ওরফে অন্তর্ভুক্ত করা দরকার #import "Reachability.h"
।
আপডেট : কোকোপডস 0.36 স্থিতিশীল সংস্করণ প্রকাশিত হয়েছে। এটি সরকারীভাবে সুইফটকে সমর্থন করে।
কোকোপডস এখন তাদের সর্বশেষ 0.36 রিলিজে সুইফটকে সমর্থন করে। এটি এখনও বিটাতে রয়েছে তবে এটি কার্যকর।
প্রথমে আপনার টার্মিনালে এটি চালিয়ে আপনার কোকোপডস বিটা (বর্তমানে বিটা 2) ইনস্টল করতে হবে।
sudo gem install cocoapods --pre
যে প্রায় কাছাকাছি এটা. আপনি সুইফ লাইব্রেরিগুলি যুক্ত করতে পারেন যেমন আপনি সাধারণত করেন।
তবে আপনি যদি কোকোপডসের মাধ্যমে একটি সুইফট প্রকল্পে অবজেক্টিভ সি তে লিখিত একটি লাইব্রেরি যুক্ত করতে চান তবে একটি ধরা আছে। use_frameworks!
আপনার পোডফাইলে আপনাকে লাইনটি যুক্ত করতে হবে। এখানে একটি উদাহরণ।
use_frameworks!
platform :ios, '8.0'
pod 'MagicalRecord'
আমি এই সম্পর্কে একটি ব্লগ পোস্ট লিখেছি ।
use_frameworks!
শুধুমাত্র আইওএস> = 8 এর জন্য? যদি তা হয় তবে আপনার উত্তরটি লিখতে হবে।
এখন আপনি কোকোপডগুলি 0.36.0 সংস্করণটি চালিয়ে ব্যবহার করতে পারেন sudo gem install cocoapods
যা সুইফ্ট ফ্রেমওয়ার্কগুলিকে একীভূত করতে সমর্থন করে। আপনি যখন সুইফ্ট দ্বারা লিখিত একটি কাঠামো ব্যবহার করেন, আপনি পোডফাইলে এটি স্পষ্টভাবে ব্যবহার করা উচিত:
platform :ios, '8.0'
use_frameworks!
pod 'Alamofire'