বড় সতর্কতা: নিশ্চিত করুন যে আপনার এক্সটেনশনটি ইতিমধ্যে কিছু মাইম টাইপের সাথে আবদ্ধ নয়।
আমরা আমাদের কাস্টম ফাইলের জন্য '.icz' এক্সটেনশনটি মূলতঃ কখনও কখনও ব্যবহার করি এবং সাফারি আপনাকে কখনই এগুলি খুলতে দেয় না "সাফারি এই ফাইলটি খুলতে পারে না" saying উপরের ইউটি স্টাফ দিয়ে আমরা কী করেছি বা চেষ্টা করেছি তা বিবেচনা করেই নয়।
অবশেষে আমি বুঝতে পেরেছিলাম যে কিছু ইউটি * সি ফাংশন রয়েছে যা আপনি বিভিন্ন জিনিস অন্বেষণ করতে পারেন এবং .icz সঠিক উত্তর দেয় (আমাদের অ্যাপ্লিকেশন):
অ্যাপে লোড শীর্ষে ছিল, কেবল এটি করুন ...
NSString * UTI = (NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
(CFStringRef)@"icz",
NULL);
CFURLRef ur =UTTypeCopyDeclaringBundleURL(UTI);
এবং সেই লাইনের পরে বিরতি দিন এবং দেখুন ইউটিআই এবং ইউআর কী - আমাদের ক্ষেত্রে এটি ছিল আমাদের সনাক্তকারী হিসাবে আমরা চাইছিলাম), এবং বান্ডেল ইউআরএল (ur) আমাদের অ্যাপ্লিকেশনটির ফোল্ডারে নির্দেশ করছে।
তবে ড্রপবক্স আমাদের মাইকের জন্য আমাদের লিঙ্কটি ফিরিয়ে দেয় যা আপনি উদাহরণ দিয়ে পরীক্ষা করে দেখতে পারেন
$ curl -D headers THEURLGOESHERE > /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 27393 100 27393 0 0 24983 0 0:00:01 0:00:01 --:--:-- 28926
$ cat headers
HTTP/1.1 200 OK
accept-ranges: bytes
cache-control: max-age=0
content-disposition: attachment; filename="123.icz"
Content-Type: text/calendar
Date: Fri, 24 May 2013 17:41:28 GMT
etag: 872926d
pragma: public
Server: nginx
x-dropbox-request-id: 13bd327248d90fde
X-RequestId: bf9adc56934eff0bfb68a01d526eba1f
x-server-response-time: 379
Content-Length: 27393
Connection: keep-alive
সামগ্রী-প্রকারটি আমরা যা চাই তা হল। ড্রপবক্স দাবি করে এটি এটি একটি পাঠ্য / ক্যালেন্ডার এন্ট্রি। গ্রেট। তবে আমার ক্ষেত্রে, আমি আমার অ্যাপ্লিকেশনটির মাইম ধরণের মধ্যে পরীক্ষামূলক পাঠ্য / ক্যালেন্ডার ট্রাইড করেছি এবং এটি এখনও কার্যকর হয় না। পরিবর্তে, আমি যখন পাঠ্য / ক্যালেন্ডার মাইমটাইপের জন্য ইউটিআই এবং বান্ডিল url পাওয়ার চেষ্টা করি,
NSString * UTI = (NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType,
(CFStringRef)@"text/calendar",
NULL);
CFURLRef ur =UTTypeCopyDeclaringBundleURL(UTI);
আমি ইউটিআই হিসাবে "com.apple.ical.ics" এবং বান্ডেল URL হিসাবে "... / MobileCoreTypes.bundle /" দেখতে পাচ্ছি see আমাদের অ্যাপ নয়, অ্যাপল। তাই আমি com.apple.ical.ics আমার নিজের পাশাপাশি এলএসআইটেম কনটেন্টটিপগুলিতে এবং রফতানির ইউটিসিফরম্যাটটোতে রাখার চেষ্টা করি, কিন্তু যায় না।
সুতরাং মূলত, অ্যাপল যদি মনে করে যে কোনও সময় তারা কোনও ধরণের ফাইল হ্যান্ডেল করতে চায় (এটি আপনার অ্যাপ্লিকেশনটি লাইভ হওয়ার 10 বছর পরে তৈরি হতে পারে, মনে রাখবেন), আপনাকে এক্সটেনশন পরিবর্তন করতে হবে কারণ তারা কেবল আপনাকে পরিচালনা করতে দেবে না ফাইল টাইপ।
-application:didFinishLaunchingWithOptions:
অ্যাপ্লিকেশনটিতে কেবলমাত্র ডেকে ডাকা হয় যদি আপনার অ্যাপ্লিকেশনটি কোনও ফাইল পরিচালনা করার জন্য ব্যাকগ্রাউন্ড না করা হয়।