আমরা কেন ব্যবহার_ফ্রেমওয়ার্ক ব্যবহার করি! কোকোপডসে?


113

আমি বহুবার use_frameworks!কোকোপড ব্যবহার করেছি Podfile। আমি শুধু ভাবছি কেন আমরা এটি ব্যবহার করি? আমি এর সরাসরি সম্মুখ উত্তর পেতে পারি না।

উদাহরণ:

platform :ios, '8.0'
use_frameworks!

target "CityWhether" do
    pod 'Alamofire'
    pod 'SwiftyJSON'
end

4
আপনি কি ইউজ_ফ্রেমওয়ার্কস বোঝাতে চাইছেন! বিস্ময়কর বিন্দুর সাথে? যেহেতু আমি সবসময় বিভ্রান্ত হয়েছি! মানে না
গ্যাব্রিয়েল জেনসেন

উত্তর:


128

use_frameworks!কোকোপডগুলিকে জানায় যে আপনি স্ট্যাটিক লাইব্রেরির পরিবর্তে ফ্রেমওয়ার্ক ব্যবহার করতে চান। যেহেতু সুইফট স্ট্যাটিক লাইব্রেরি সমর্থন করে না আপনাকে ফ্রেমওয়ার্ক ব্যবহার করতে হবে।


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

কোকো টাচ ফ্রেমওয়ার্কস

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

কোকো টাচ স্ট্যাটিক লাইব্রেরি

নাম যেমন বলে, তারা অচল। সুতরাং তারা ইতিমধ্যে সংকলিত হয়, যখন আপনি তাদের আপনার প্রকল্পে আমদানি করেন। আপনি তাদের আপনার কোড না দেখিয়ে অন্যদের সাথে সেগুলি ভাগ করতে পারেন। নোট করুন যে স্ট্যাটিক লাইব্রেরিগুলি বর্তমানে সুইফটকে সমর্থন করে না। লাইব্রেরির মধ্যে আপনাকে উদ্দেশ্য-সি ব্যবহার করতে হবে। অ্যাপটি নিজেই সুইফটে লেখা যেতে পারে।

সূত্র: আমার অন্য উত্তর | অ্যাডথিস.কম ব্লগ


4
মুক্তির দীর্ঘ গল্প নোট blog.cocoapods.org/CocoaPods-0.36
জেইমি Agudo

8
স্ট্যাটিক লাইব্রেরিগুলি এখন এক্সকোড 9 বিটা 4 হিসাবে সুইফটকে সমর্থন করে - কোকোপডগুলি এটি সমর্থন করার জন্য আপডেট করা হচ্ছে, দেখুন গিথুব.com
কোকোপডস /

বাছাই করুন এবং মিষ্টি
বর্ণনা.এটি

79

use_frameworks!কোকো pods গতিশীল লাইব্রেরি ব্যবহার করতে বলে, এবং কারণে দ্রুতগতি বিশেষ স্ট্যাটিক লাইব্রেরি সমর্থন না, যার অর্থ কোন উপায় ছিল না এক পর্যায়ে খুব প্রচলিত ছিল - তবে আপনি প্রায়ই না প্রয়োজন use_frameworks!আর।

এক্সকোড 9 বিটা 4, এবং কোকোপডস 1.5.0 হিসাবে, সুইফ্ট স্ট্যাটিক লাইব্রেরিগুলি এখন সমর্থিত। মূল সুবিধাটি দ্রুত অ্যাপ্লিকেশন শুরুর সময়, বিশেষত আপনার যদি প্রচুর শুঁটি থাকে - আইওএস 10 এবং 11 যখন আপনার অনেকগুলি ডাইলিব থাকে তখন দ্রুত হয় না।

CocoaPods 1.5.0 তাড়াতাড়ি এপ্রিল 2018 সালে মুক্তি পায় , তাই আপনি এটা পাবেন আপগ্রেড করার প্রয়োজন হতে পারে: sudo gem install cocoapods

আমি বেশ কয়েকটি শুঁটি খুঁজে পেয়েছি যা স্থির লাইব্রেরিতে এখনও সঠিকভাবে কাজ করে না, তাই আপনার মাইলেজটি ভিন্ন হতে পারে।


4
আমি এটি করেছিলাম এবং তারপরে আমি একই No such moduleত্রুটির মধ্যে পড়েছিলাম । এই কোকোপডগুলিতে কি সমস্যা?
আল্পার

4
use_modular_headers!সম্ভবত এটির প্রয়োজন মতো শুঁটি দিয়ে কাজ করার জন্য আমার পডফাইলে যুক্ত করতে হয়েছিল তবে নিজেরাই এটিকে সক্ষম করে না।
অ্যাড্রিয়ান

4
@ জোসেফ এইচএইচ "" প্রধান সুবিধাটি দ্রুত অ্যাপ্লিকেশন শুরুর সময় " এটি অ্যাপলের ডায়নামিক লাইব্রেরি ডকুমেন্টেশনের সাথে স্ববিরোধী হিসাবে কাজ করছে বলে মনে হয় - যা ডেলসের একই দাবি করে: "এটি চালু হওয়ার পরে মেমরির ব্যবহার কমিয়ে আনলে অ্যাপ্লিকেশনটি আরম্ভ করা দ্রুত হয়"। এখানে বোঝা যাচ্ছে যে dll এর দ্রুত প্রবর্তন সময়ে ফলাফল ঘটবে যদি গ্রন্থাগারটি চালু হওয়ার সময় প্রয়োজন হয় না, বা এটি একটি জনপ্রিয় গ্রন্থাগার এবং তাই ইতিমধ্যে মেমরিতে লোড হয়ে গেছে?
টলকিয়েনওয়াস্প

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

4
আমি মনে করি এটি উপরের ভিডিওটি রেফারেন্স হয়েছে: বিকাশকারী.অ্যাপল .com/ভিডিও / প্লে /wwdc2016/406 আমি আপনাকে আপনার অ্যাপ্লিকেশন লঞ্চের গতি পরিমাপ করতে এবং আপনার জন্য সেরা কি তা দেখতে DYLD_PRINT_STATISTIC পরিবেশের পরিবর্তনশীলটি ব্যবহার করতে উত্সাহিত করব।
আইম্যাকহামফ্রিজ

2

কোকোপোডের [সম্পর্কে] use_frameworks! বাইনারি প্রকারের জন্য দায়ী:

  • যদি use_frameworks!হয় বর্তমান -dynamic framework
  • যদি use_frameworks!হয় উপস্থিত না -static library

use_frameworks!প্রকল্পের সম্পর্কিত টার্গেটে Mach-O Type[সম্পর্কে] এর প্রতিচ্ছবি রয়েছে Pods

সময়রেখা:

  1. কোকোপডস 0.36 প্রবর্তিত use_frameworks!যা আপনাকে সুইফট পডের জন্য ব্যবহার করতে হয়েছিল
  2. কোকোপডস 1.5.0 এবং এক্সকোড 9 আপনাকে পছন্দ করার অনুমতি দিয়েছে

[শব্দভাণ্ডার]


2

use_frameworks!ঘোষণা করে যে আপনি স্থিতিশীল লাইব্রেরির পরিবর্তে গতিশীল ফ্রেমওয়ার্ক ব্যবহার করতে চান ।

এক্সকোড 9.0 এবং কোকোপডস 1.5.0 প্রকাশিত হওয়ার সাথে সাথে আপনি যদি ব্যবহার না করেন তবে আপনি সুইফট সহ স্থির লাইব্রেরি ব্যবহার করতে পারেন use_frameworks!

এর সাথে একটি সমস্যা use_frameworks!হ'ল পডস / প্রোডাক্টগুলিতে আপনার সমস্ত কাঠামো ফ্রেমওয়ার্ক।

এখানে সম্পর্কিত নিবন্ধটি: আইওএসের উপর স্থিতিশীল এবং গতিশীল ফ্রেমওয়ার্কের বেসিক ওভারভিউ


4
> One performance with use_frameworks is that all your framework in Pods/Products is frameworks. একটি পারফরম্যান্স কী?
অ্যালেক্স জাভাটোন

-1

যুক্ত হচ্ছে

ব্যবহার_ ফ্রেমওয়ার্ক!

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


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