CFPrefsPlistSource iOS 10 এ মান পড়তে ব্যর্থ


87

আমি আজ আমার Xcode 8 কে বিটা 2 তে আপডেট করেছি এবং আমি অ্যাপ এবং টুডে এক্সটেনশনের মধ্যে ডেটা ভাগ করার চেষ্টা করছি। আমি এই লগ সতর্কতার মুখোমুখি:

2016-07-08 18: 00: 24.732472 ProjetctX [941: 42801] [ব্যবহারকারীর ডিফল্ট] CFPrefsPlistSource <0x1700f1280> (ডোমেন: group.xpto, ব্যবহারকারী: কেসিএফপ্রিফারেন্সেসইউউসার, হাইস্ট: হ্যাঁ, ধারক:) নালাগুলি পড়তে ব্যর্থ হয়েছে : একটি কনটেইনার সহ কেসিএফপ্রাইফারেন্সঅন্য ইউজার ব্যবহার করার পদ্ধতি কেবল সিটিপ্রেফএসডি থেকে বিচ্ছিন্ন করে কেবল সিস্টেম ধারকগুলির জন্যই অনুমোদিত

কেউ আমাকে সাহায্য করতে পারেন?


7
আমি আমার অ্যাপ্লিকেশনে এই একই সমস্যাটি নিয়ে যাচ্ছি
প্রবীন কম্বলে

@ প্রভিনক্যাম্বেল আমি এই ত্রুটিটি পেয়েছি তবে আমি সমস্ত কিছু অ্যাক্সেস করতে পারি (ব্যবহারকারীর ডিফল্টগুলির অ্যাপগ্রুপ)।
ক্লিভিসন

4
9.3-এ মোতায়েনের লক্ষ্য পরিবর্তন করে এটি ডিভাইসে নিখুঁতভাবে চলবে তবে এটি আইওএস 10 এর সাথে কাজ করবে না আমি সমাধানের সন্ধান করব আমি সমাধান খুঁজে পাওয়ার সাথে সাথেই এখানে পোস্ট করব
প্রভিন কাম্বলে

@ প্রভিনক্যাম্বল আপনি কি এক্সকোড 8 বিটা 2 ব্যবহার করে আপনার প্রকল্পটি তৈরি করেছেন?
ক্লিভিসন

উত্তর:


79

এটি আসলে একটি জালিয়াতি সতর্কতা যা আইওএস 10 এবং ম্যাকোস 10.12 এ চালু হয়েছিল:

এনএসউসারডেফাল্টস টিপ: বর্তমান ওএসগুলিতে একটি লগড ত্রুটি রয়েছে "... একটি ধারক সহ কেবল সিস্টেমের ধারকগণের জন্যই অনুমোদিত ..."।

এটি উত্সাহজনক।

একটি নির্দিষ্ট ব্যর্থতা মোড ধরার চেষ্টা করছেন, একই সময়ে একটি সাধারণ অপারেশন কেস ধরেন।

ইউজারডেফাল্টসে আমার উত্তরসূরিও লক্ষণীয় কেসটিকে ডিবাগ করা অসম্ভব করে না দিয়ে এটিকে কম উদ্বেগজনক করার কোনও উপায় বের করতে পারেনি: /

https://twitter.com/Catfish_Man/status/784460565972332544 [থ্রেড]

আপনার টিম আইডি প্রেরণের পরামর্শ সতর্কতাটি নিঃশব্দ করে তুলবে, তবে এটি একটি নতুন খালি ব্যবহারকারী ডিফল্ট তৈরি করবে। এর ফলে কোনও পূর্বের সঞ্চিত ডেটা অপঠনযোগ্য হবে।

আপাতত, সমাধানটি কেবল এটি উপেক্ষা করা।

এছাড়াও, ফোরামে অ্যাপল স্টাফ সদস্য সিএফএম :

লগ করা বার্তা উত্সাহিত না হওয়া অবধি যদি আপনি ব্যক্তিগত নির্দিষ্ট ফাংশন ব্যবহার না করে সম্ভব বলে মনে করেন না তবে এটি ব্যবহার করা সম্ভব না (দুর্ভাগ্যক্রমে এটি একটি সাধারণ ব্যবহারের ক্ষেত্রেও ধরা পড়ে)।


4
আমি একটি অ্যাপ গ্রুপ তৈরি করার চেষ্টা করেছি যা টিম আইডি দিয়ে শুরু হয় তবে এটি এটি 'গ্রুপ' দিয়ে শুরু করতে বাধ্য করে। তো - দুজনের কি মিল হওয়ার কথা নয় ???
SAHM

4
আমি হাই সিয়েরায় এই লগ বার্তাটি দেখছি। টিম আইডি প্রস্তুত করা আমার জন্য সতর্কবার্তাটি নিরব করে না । অ্যাপল কি এটি ঠিক করার ইচ্ছা করছে?
মিশচমিট

4
দুঃখিত, আপনি দয়া করে বিস্তারিত বলতে পারেন? "আপনার দলের আইডি প্রিপেন্ড করুন" কী?
মোটি শ্নের

19

আপনার মূল অ্যাপ্লিকেশন এবং আপনার এক্সটেনশনের মধ্যে ডেটা পাস করার জন্য অ্যাপ্লিকেশন গোষ্ঠীর সাথে ব্যবহারকারীর ডেফাল্টগুলি কীভাবে ব্যবহার করবেন তা এখানে:

  1. আপনার প্রধান অ্যাপ্লিকেশনটিতে, প্রকল্প নেভিগেটরে আপনার প্রকল্প নির্বাচন করুন।

  2. আপনার প্রধান অ্যাপ্লিকেশন লক্ষ্যটি নির্বাচন করুন এবং সক্ষমতার ট্যাবটি চয়ন করুন।

  3. অ্যাপ্লিকেশন গ্রুপগুলিতে টগল করুন চালু করুন। এটি এনটাইটেলমেন্টের একটি সেট তৈরি করার জন্য বিকাশকারী পোর্টালের সাথে যোগাযোগ করবে।

  4. একটি নতুন ধারক তৈরি করুন। অ্যাপলের মতে আপনার কনটেইনার আইডি অবশ্যই "গ্রুপ" দিয়ে শুরু করা উচিত, সুতরাং "গ্রুপ.io.intrepid.myapp" এর মতো একটি নাম নিখুঁত।

  5. আপনার এক্সটেনশান লক্ষ্যটি নির্বাচন করুন এবং অ্যাপ্লিকেশন গোষ্ঠীগুলিকে সক্ষম করার প্রক্রিয়াটি পুনরাবৃত্তি করুন। একটি নতুন অ্যাপ গ্রুপ তৈরি করবেন না, কেবলমাত্র মূল অ্যাপ্লিকেশন টার্গেটে তৈরি করা গোষ্ঠীটি নির্বাচন করুন select

  6. আপনার অ্যাপ্লিকেশন বা আপনার এক্সটেনশানটিতে ইউজারডেফল্টগুলি পড়তে বা লেখার সময় অ্যাক্সেস করবেন না UserDefaults.standard। পরিবর্তে ব্যবহার করুন UserDefaults(suiteName: "group.io.intrepid.myapp")। দ্রষ্টব্য: স্যুইট নামটি আপনার অ্যাপ্লিকেশন গোষ্ঠীর ধারকটির পদক্ষেপ 4 য় পদে তৈরি করা হয়েছে।

নিশ্চিত করুন, গ্রুপ সক্ষম করুন এবং এক্সটেনশান এবং অ্যাপ্লিকেশন উভয় ক্ষমতা বিভাগের জন্য একই গ্রুপ আইডি ব্যবহার করুন!

ক্রেডিট http://blog.intrepid.io/ios-app-exferencesগুলিতে যায়


"কেবলমাত্র মূল অ্যাপ্লিকেশন টার্গেটে তৈরি করা গোষ্ঠীটি কেবল নির্বাচন করুন" => এটি উপস্থিত না হয়ে কী করবেন ??
ব্যবহারকারী3722523

এক্সটেনশনে একই গ্রুপটি সক্ষম করুন এবং নির্বাচন করুন!
আরফান মির্জা

আমি পুনরায় বলছি, এক্সটেনশনে নির্বাচন ফাঁকা থাকলে একই গ্রুপ কীভাবে নির্বাচন করবেন ???
user3722523

আপনি যখন সামঞ্জস্যতা বিভাগের অধীনে গোষ্ঠীগুলি টগল / সক্ষম করেন, তখন এটি গ্রুপগুলির তালিকা স্বয়ংক্রিয়ভাবে প্রদর্শন করে, যদি না দেখায় তবে টিমটি পরীক্ষা করুন (বিকাশকারী অ্যাকাউন্টে সাইন ইন করুন), টিমেরও একই প্রয়োজন! আবার দল ও টগল গ্রুপ সেট করুন!
আরফান মির্জা

এটি এখনও কাজ করে না ... তবে আইওএস প্রকল্পের সাথে এটি কাজ করে। : I'v একটি থ্রেড নির্মিত stackoverflow.com/questions/44914304/...
user3722523


4

আপনার কাছ থেকে Xcode এনটাইটেলমেন্টে গোষ্ঠীর নাম পরিবর্তন করুন:

group.com.mycompany.myapp

প্রতি

group.MYTEAMID.com.mycompany.myapp

PS: আপনি ডেভেলপার.অ্যাপল ডটকমের সদস্যপদে আপনার মাইটিএমিডটি খুঁজে পেতে পারেন



3

আমার জন্য সমাধানটি হ'ল অ্যাপ্লিকেশন বান্ডেল আইডেন্টিফায়ার এবং "গ্রুপ" এর পরের অংশের জন্য একই সনাক্তকারী ব্যবহার না করা।

বলুন, অ্যাপ্লিকেশন বান্ডিল আইডিটি "com.app.id", তারপরে "group.com.app.id" হিসাবে গোষ্ঠী আইডি সমস্যা সৃষ্টি করছে। আমি এটিকে "group.com.app.id.someoming" এ পরিবর্তন করার পরে এটি বন্ধ হয়ে যায়।


0

এক্সকোড 8.1 বিটা দিয়ে তৈরি করুন এবং আপনি একই সতর্কতাটি দেখতে পাবেন তবে আপনি মানটিও পাবেন।


0

আমি যখন ইइडউইথসুয়াইটনাম ব্যবহার করার চেষ্টা করছি তখন আমি এই একই সমস্যার মুখোমুখি হয়েছি। দেখে মনে হচ্ছে এটি অ্যাপলের একটি বাগ। আমি খুঁজে পেয়েছি একমাত্র সমাধান / কার্যকারণ হ'ল ডিভাইসের সমস্ত সেটিংস পুনরায় সেট করা। সেটিংসে যান -> সাধারণ -> পুনরায় সেট করুন -> সমস্ত সেটিংস পুনরায় সেট করুন।

এটি আইফোনটিতে কোনও সামগ্রী মুছবে না, কেবল সমস্ত সেটিংস মুছে ফেলে। সেটিংসটি পুনরায় সেট করার পরে, সবকিছু ঠিকঠাক কাজ করেছে। যদি এটি আপনাকেও সহায়তা করে তবে আমাকে জানান।


0

ডিফল্টরূপে, আপনি যদি অ্যাপল সেটিংস অ্যাপের মাধ্যমে আপনার অ্যাপ্লিকেশন পছন্দগুলি প্রদর্শন এবং সম্পাদনা করার জন্য সেটিংস.বান্ডেল / রুট.পুলিস্ট ব্যবহার করছেন তবে এটি ইউজারডিফল্টস স্ট্যান্ডার্ড ব্যবহার করে অভিধান ।

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

পদক্ষেপ 1: আপনার সেটিংস খুলুন Bবান্ডেল -> রুট.পুলিস্ট

সেটিংস.বান্ডেল -> রুট.পুলিস্ট খুলুন

Step2: কী যোগ করুন ApplicationGroupContainerIdentifier এবং মান হিসাবে আপনার অ্যাপ্লিকেশান-গ্রুপ-আইডি সেট করুন, আপনার স্বাক্ষর & কেপেবিলিটিস সংজ্ঞায়িত: group.xx.yy মত দেখায়

অ্যাপ্লিকেশনগ্রুপকন্টেইনারআইডিটিফায়ারের জন্য কী-মান জুটি যুক্ত করুন

আপনি এই পদক্ষেপটি প্রয়োগ করার পরে, আপনার অ্যাপ্লিকেশন-সেটিংসের জন্য ডিফল্ট ধারক এখন ইউজারডেফল্টস স্ট্যান্ডার্ড (আপনার অ্যাপ্লিকেশন পাথ) থেকে ভাগ করে নেওয়া পথে চলে যাবে।


-3

আপনি ব্যবহার করে এক্সটেনশন অ্যাপে ডেটা সংরক্ষণ করার চেষ্টা করার সময় আপনি যদি এই সমস্যায় পড়ে থাকেন তবে userDefaultসম্ভবত আপনি এই কোডটি লিখেছিলেন:

[[NSUserDefaults standardUserDefaults] initWithSuiteName:@"group.xxx.com"];

এই কোডটি ডিফল্ট পুনরায় সেট করুন userDefault

আসলে, সঠিক কোডটি হ'ল:

[[NSUserDefaults alloc] initWithSuiteName:@"group.xxx.com"];

http://www.jianshu.com/p/e782104c3bc3


-10

থেকে পরিবর্তন করুন

[[NSUserDefaults alloc] initWithSuiteName:@"group.com.xxx.xxx"];

প্রতি

[[NSUserDefaults alloc] initWithSuiteName:@"nnnnnnnnnn.group.com.xxx.xxx"]; 

কোথায় nnnnnnnnnআপনার দলের নম্বরটি , আপনি নিজের কোডটি সাইন করতে ব্যবহার করেন।

এক্সকোড 8 জিএম এবং আইওএস 10 জিএম এর অধীনে পরীক্ষিত, এবং কাজ করেছে!


4
মূল অ্যাপটিতেও লেখার জন্য আমাদের কী "nnnnnnnnnnn.g.gpp.com.xxx.xxx" ব্যবহার করার কথা রয়েছে, বা কেবল এক্সটেনশনে টিম আইডি ব্যবহার করবেন? আমার জন্য, টিমের আইডি যুক্ত করা আমার অ্যাপ্লিকেশনটিতে "group.com.xxx.xxx" এ সংরক্ষণ করা কোনও ডেটা ছাড়াই ফাঁকা ইউজারডাইল্টগুলি টানতে পারে। সত্যিই আশা করছি এটির কোনও সমাধান রয়েছে, কারণ এটি আমার আইওএস 10 আপডেটটি ব্লক করছে।
টিমগার্লসন

4
ডেটা এখনও সিঙ্ক হয় না। ত্রুটি দূর হয় না।
জিৎ

4
বর্তমানে মনে হচ্ছে এই ত্রুটি অ্যাপটিকে প্রভাবিত করে না। তবে টিম আইডি যুক্ত করা থাকলে ত্রুটিটি অনুপস্থিত তবে ডেটা আনতে পারে না।
scorpiozj

4
এটি একটি ভাল উত্তর নয়। আপনি অন্য কোনও জিনিস রাখবেন এবং কীটি পরিবর্তন করার সাথে সাথে ত্রুটিটি সহায়তা হিসাবে এড়িয়ে যাবেন।
কোক্লুচ

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