Xcode 7 কেন * .dlib এর পরিবর্তে * .tbd শো করে?


138

এক্সকোড 7 টার্গেটে> বিল্ডপেজ> লাইব্রেরিগুলির সাথে বাইনারি লিঙ্ক করুন> বোতামটি আলতো চাপুন

যুক্ত করার জন্য ফ্রেমওয়ার্কগুলি বেছে নেওয়ার সময়, আপনি * .dlib খুঁজে পাবেন না, আপনি পরিবর্তে * .tbd দেখতে পাবেন।

এটার কারণ কি?

** যাদের ডিলিব প্রয়োজন তাদের জন্য এই পোস্টটি অনুসরণ করুন

  1. "অন্য যুক্ত করুন" চয়ন করুন
  2. একবার ফাইল নির্বাচন উইন্ডোতে "সিএমডি" + শিফট + জি (ফোল্ডারে যান) এবং / usr / lib / টাইপ করুন
  3. / ব্যবহারকারী / লাইব থেকে আপনি * .dlib ফাইলগুলি খুঁজে পেতে পারেন

11
এটি অ্যাপল "গোপন পরিকল্পনা" এর সমস্ত অংশ ...
l'L'l

/ usr / lib থেকে * .dlib যোগ করা / সিমুলেটারে আমার অ্যাপটি চালানোর সময় এটি কেবল আমার জন্য কাজ করে, এটি ডিভাইস দিয়ে কাজ করে না।
কেশব বিশ্বকর্মা

উত্তর:


153

আমি গুগলকে ঘৃণা করেছি তবে এখন পর্যন্ত কেবলমাত্র আমি খুঁজে পাচ্ছি অ্যাপল বিকাশকারী ফোরামের নীচের উদ্ধৃতি :

যারা কৌতূহলী তাদের জন্য .tbd ফাইলগুলি নতুন "পাঠ্য-ভিত্তিক স্টাব লাইব্রেরি", যা এসডিকে ব্যবহারের জন্য স্টাব লাইব্রেরির আরও অনেক কমপ্যাক্ট সংস্করণ সরবরাহ করে এবং এর ডাউনলোডের আকারটি উল্লেখযোগ্যভাবে হ্রাস করতে সহায়তা করে।

আশা করি শিগগিরই আরও ডকুমেন্টেশন আসবে।

হালনাগাদ

উদাহরণস্বরূপ, এখানে libsqlite3.tbd এর সম্পূর্ণ বিষয়বস্তু রয়েছে । এটি কেবল একটি পাঠ্য ফাইল। মনে রাখবেন যে ইনস্টল-নামটি libsqlite3.dylib

---
archs:           [ armv7, armv7s, arm64 ]
platform:        ios
install-name:    /usr/lib/libsqlite3.dylib
current-version: 216.4
compatibility-version: 9.0
exports:         
  - archs:           [ armv7, armv7s, arm64 ]
    symbols:         [ __sqlite3_lockstate, __sqlite3_purgeEligiblePagerCacheMemory, 
                       __sqlite3_system_busy_handler, __sqlite_auto_profile, 
                       __sqlite_auto_profile_syslog, __sqlite_auto_trace, 
                       __sqlite_auto_trace_syslog, _sqlite3OsShmHasMultipleLinks, 
                       _sqlite3OsShmRenamedWhileOpen, _sqlite3OsShmWasTruncated, 
                       _sqlite3OsShmWasUnlinkedWhileOpen, _sqlite3VersionNumber, 
                       _sqlite3VersionString, _sqlite3_aggregate_context, 
                       _sqlite3_aggregate_count, _sqlite3_auto_extension, 
                       _sqlite3_backup_finish, _sqlite3_backup_init, _sqlite3_backup_pagecount, 
                       _sqlite3_backup_remaining, _sqlite3_backup_step, 
                       _sqlite3_bind_blob, _sqlite3_bind_blob64, _sqlite3_bind_double, 
                       _sqlite3_bind_int, _sqlite3_bind_int64, _sqlite3_bind_null, 
                       _sqlite3_bind_parameter_count, _sqlite3_bind_parameter_index, 
                       _sqlite3_bind_parameter_name, _sqlite3_bind_text, 
                       _sqlite3_bind_text16, _sqlite3_bind_text64, _sqlite3_bind_value, 
                       _sqlite3_bind_zeroblob, _sqlite3_blob_bytes, _sqlite3_blob_close, 
                       _sqlite3_blob_open, _sqlite3_blob_read, _sqlite3_blob_reopen, 
                       _sqlite3_blob_write, _sqlite3_busy_handler, _sqlite3_busy_timeout, 
                       _sqlite3_cancel_auto_extension, _sqlite3_changes, 
                       _sqlite3_clear_bindings, _sqlite3_close, _sqlite3_close_v2, 
                       _sqlite3_collation_needed, _sqlite3_collation_needed16, 
                       _sqlite3_column_blob, _sqlite3_column_bytes, _sqlite3_column_bytes16, 
                       _sqlite3_column_count, _sqlite3_column_decltype, 
                       _sqlite3_column_decltype16, _sqlite3_column_double, 
                       _sqlite3_column_int, _sqlite3_column_int64, _sqlite3_column_name, 
                       _sqlite3_column_name16, _sqlite3_column_text, _sqlite3_column_text16, 
                       _sqlite3_column_type, _sqlite3_column_value, _sqlite3_commit_hook, 
                       _sqlite3_compileoption_get, _sqlite3_compileoption_used, 
                       _sqlite3_complete, _sqlite3_complete16, _sqlite3_config, 
                       _sqlite3_context_db_handle, _sqlite3_create_collation, 
                       _sqlite3_create_collation16, _sqlite3_create_collation_v2, 
                       _sqlite3_create_function, _sqlite3_create_function16, 
                       _sqlite3_create_function_v2, _sqlite3_create_module, 
                       _sqlite3_create_module_v2, _sqlite3_data_count, 
                       _sqlite3_data_directory, _sqlite3_db_config, _sqlite3_db_filename, 
                       _sqlite3_db_handle, _sqlite3_db_mutex, _sqlite3_db_readonly, 
                       _sqlite3_db_release_memory, _sqlite3_db_status, 
                       _sqlite3_declare_vtab, _sqlite3_enable_shared_cache, 
                       _sqlite3_errcode, _sqlite3_errmsg, _sqlite3_errmsg16, 
                       _sqlite3_errstr, _sqlite3_exec, _sqlite3_expired, 
                       _sqlite3_extended_errcode, _sqlite3_extended_result_codes, 
                       _sqlite3_file_control, _sqlite3_finalize, _sqlite3_free, 
                       _sqlite3_free_table, _sqlite3_get_autocommit, _sqlite3_get_auxdata, 
                       _sqlite3_get_table, _sqlite3_global_recover, _sqlite3_initialize, 
                       _sqlite3_intarray_bind, _sqlite3_intarray_create, 
                       _sqlite3_interrupt, _sqlite3_last_insert_rowid, 
                       _sqlite3_libversion, _sqlite3_libversion_number, 
                       _sqlite3_limit, _sqlite3_log, _sqlite3_malloc, _sqlite3_malloc64, 
                       _sqlite3_memory_alarm, _sqlite3_memory_highwater, 
                       _sqlite3_memory_used, _sqlite3_mprintf, _sqlite3_msize, 
                       _sqlite3_mutex_alloc, _sqlite3_mutex_enter, _sqlite3_mutex_free, 
                       _sqlite3_mutex_leave, _sqlite3_mutex_try, _sqlite3_next_stmt, 
                       _sqlite3_open, _sqlite3_open16, _sqlite3_open_v2, 
                       _sqlite3_os_end, _sqlite3_os_init, _sqlite3_overload_function, 
                       _sqlite3_prepare, _sqlite3_prepare16, _sqlite3_prepare16_v2, 
                       _sqlite3_prepare_v2, _sqlite3_profile, _sqlite3_progress_handler, 
                       _sqlite3_randomness, _sqlite3_realloc, _sqlite3_realloc64, 
                       _sqlite3_release_memory, _sqlite3_reset, _sqlite3_reset_auto_extension, 
                       _sqlite3_result_blob, _sqlite3_result_blob64, _sqlite3_result_double, 
                       _sqlite3_result_error, _sqlite3_result_error16, 
                       _sqlite3_result_error_code, _sqlite3_result_error_nomem, 
                       _sqlite3_result_error_toobig, _sqlite3_result_int, 
                       _sqlite3_result_int64, _sqlite3_result_null, _sqlite3_result_text, 
                       _sqlite3_result_text16, _sqlite3_result_text16be, 
                       _sqlite3_result_text16le, _sqlite3_result_text64, 
                       _sqlite3_result_value, _sqlite3_result_zeroblob, 
                       _sqlite3_rollback_hook, _sqlite3_rtree_geometry_callback, 
                       _sqlite3_rtree_query_callback, _sqlite3_set_authorizer, 
                       _sqlite3_set_auxdata, _sqlite3_shutdown, _sqlite3_sleep, 
                       _sqlite3_snprintf, _sqlite3_soft_heap_limit, _sqlite3_soft_heap_limit64, 
                       _sqlite3_sourceid, _sqlite3_sql, _sqlite3_status, 
                       _sqlite3_status64, _sqlite3_step, _sqlite3_stmt_busy, 
                       _sqlite3_stmt_readonly, _sqlite3_stmt_status, _sqlite3_strglob, 
                       _sqlite3_stricmp, _sqlite3_strnicmp, _sqlite3_table_column_metadata, 
                       _sqlite3_temp_directory, _sqlite3_test_control, 
                       _sqlite3_thread_cleanup, _sqlite3_threadsafe, _sqlite3_total_changes, 
                       _sqlite3_trace, _sqlite3_transfer_bindings, _sqlite3_update_hook, 
                       _sqlite3_uri_boolean, _sqlite3_uri_int64, _sqlite3_uri_parameter, 
                       _sqlite3_user_data, _sqlite3_value_blob, _sqlite3_value_bytes, 
                       _sqlite3_value_bytes16, _sqlite3_value_double, _sqlite3_value_int, 
                       _sqlite3_value_int64, _sqlite3_value_numeric_type, 
                       _sqlite3_value_text, _sqlite3_value_text16, _sqlite3_value_text16be, 
                       _sqlite3_value_text16le, _sqlite3_value_type, _sqlite3_version, 
                       _sqlite3_vfs_find, _sqlite3_vfs_register, _sqlite3_vfs_unregister, 
                       _sqlite3_vmprintf, _sqlite3_vsnprintf, _sqlite3_vtab_config, 
                       _sqlite3_vtab_on_conflict, _sqlite3_wal_autocheckpoint, 
                       _sqlite3_wal_checkpoint, _sqlite3_wal_checkpoint_v2, 
                       _sqlite3_wal_hook ]
...

আমি এটি এবং অন্যান্য .tbd ফাইল খুঁজে পেয়েছি

Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

আপনি যদি আপনার এক্সকোড প্রকল্পের জেনারেল ট্যাবে যান এবং তারপরে লিঙ্কযুক্ত ফ্রেমওয়ার্ক এবং লাইব্রেরিগুলির অধীনে একটি লাইব্রেরি যুক্ত করেন তবে আপনি একটি .tbd ফাইলও দেখতে পাবেন। .Tbd ফাইলটি আপনার প্রকল্পে অনুলিপি করা হবে।

সুতরাং দেখা যাচ্ছে যে .dlib ফাইলটি বাইনারি কোডের আসল গ্রন্থাগার যা আপনার প্রকল্প ব্যবহার করছে এবং ব্যবহারকারীর ডিভাইসে / usr / lib / ডিরেক্টরিতে অবস্থিত। অন্যদিকে .tbd ফাইলটি কেবল একটি পাঠ্য ফাইল যা আপনার প্রকল্পের অন্তর্ভুক্ত এবং প্রয়োজনীয় .dlib বাইনারিটির লিঙ্ক হিসাবে কাজ করে। এই পাঠ্য ফাইলটি বাইনারি লাইব্রেরির চেয়ে অনেক ছোট, এটি এসডিকে ডাউনলোডের আকারকে আরও ছোট করে।

এই মুহুর্তে আমি প্রদত্ত তথ্যগুলি থেকে কেবলমাত্র ছাপিয়ে যাচ্ছি, সুতরাং আমি ভুল হলে আমাকে সংশোধন করুন।


3
টিবিডি ফাইল ফর্ম্যাটটি আসলে একটি ওয়াইএমএল ফাইল। লিঙ্কারটি কেবলমাত্র নির্দিষ্ট ট্যাগগুলির সন্ধান করে।
C0deH4cker

5
এটি অ্যাপটির আকারকে আরও ছোট করে কেন? এটি কেবল সংকলন / লিংক সময়ে সত্যিকারের dylib এর সাথে লিঙ্ক করে না? আপনি ভুল বলছেন না, কেবল বোঝার চেষ্টা করছেন
স্টোনডাউজ

3
এটি এক্সকোড দিয়ে আপনি যে এসডিকে ডাউনলোড করেন তার আকার হ্রাস করে, আপনি যে অ্যাপ্লিকেশনটি তৈরি করছেন তার আকার নয়।
জকি

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

5
ওএস ইনস্টল থাকা অবস্থায় এসডিকে থাকা ডাইলিবগুলি ডিভাইসে উপস্থিত থাকে। সুতরাং তারা এসডিকে অকেজো ছিল, তবে আপনি যখন অ্যাপ্লিকেশনটি লিঙ্ক করবেন তখন লিঙ্কারের পক্ষে এটি করার জন্য অনুমতি দেওয়া (গতিশীল লাইব্রেরিগুলি অ্যাপ্লিকেশনটিতে অনুলিপি করা হয় না এবং আলাদা থাকে)। সুতরাং টিবিডি ফাইলগুলির সাথে পরিবর্তনটি হ'ল ডাইলেবটি কেবলমাত্র লিঙ্কার দ্বারা ব্যবহৃত ন্যূনতম পরিমাণের তথ্য রাখার জন্য, এবং এই নতুন ফর্ম্যাটটি বুঝতে লিংকটিকে আপডেট করে রাখা।
জকি

22

.dlib হ'ল সংকলিত বাইনারি যা মেশিন কোড ধারণ করে। .tbd একটি ছোট টেক্সট ফাইল যা ক্রস প্ল্যাটফর্মের মডিউল মানচিত্রের মতো।


8
আপনি এটি কোথায় শিখলেন? আপনার কি এমন কোনও লিঙ্ক রয়েছে যা আমি এ সম্পর্কে আরও গবেষণা করতে পারি?
সুরগাচ

2
কেবলমাত্র একটি .tds এর সামগ্রী দেখুন
পিটার লাপিসু

6
একটি .tds ফাইল কি একটি .tdb ফাইলের মতো? এর বিষয়বস্তু দেখার জন্য আমি এই জাতীয় ফাইলটি কোথায় খুঁজে পাব?
সুরগাচ

7
এটি টিবিডি, টিডিএস বা টিডিবি নয়। এটি পাঠ্য-ভিত্তিক dylib সংজ্ঞা জন্য দাঁড়িয়েছে।
ক্রেগ 65535

4

.tbd- Text Based dylib stubs। এটি এক ধরণের অপ্টিমাইজেশান যার অর্থ .dylibআপনার বান্ডলে কোনও ফাইল (যা লক্ষ্যমাত্রায় বিদ্যমান) অনুলিপি করতে হবে না (যেমন অ্যাপ্লিকেশন)। এই ফাইলটিতে বাইনারি কোড নেই যা ফাইল আকারের উপর একটি বড় প্রভাব ফেলে।

এটি কেবলমাত্র এর জন্য প্রযোজ্য:

  1. Dynamic libraries কারণ তারা রানটাইম-লিঙ্কযুক্ত
  2. টার্গেটে ফাইলের একটি প্রাসঙ্গিক পথ থাকা উচিত। ফলস্বরূপ এটি সেরা স্থান standard system libraries

আইওএস বিকাশের জন্য আপনি .tbd ফাইলগুলি খুঁজে পেতে পারেন যা আপনি এখানে ব্যবহার করতে পারেন

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

উদাহরণস্বরূপ libiconv.tbdদেখতে

এখানে চিত্র বর্ণনা লিখুন

এই ফাইলটিতে কিছু মেটা সম্পর্কিত তথ্য রয়েছে:

  • .dylib অবস্থান
  • প্রতীক (শ্রেণীর বৈশিষ্ট্য, পদ্ধতি)
  • স্থাপত্য
  • মাচা

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