আইওআইজিজেপপিকারকন্ট্রোলার ব্যবহার করার সময় আইওএস 10 ত্রুটি [অ্যাক্সেস] <ব্যক্তিগত>


102

আমি এক্সকোড 8 ব্যবহার করছি এবং আইওএস 10.2 বিটা দিয়ে পরীক্ষা করছি।

আমি ছবিতে ফটো, ফটো ইউআই এবং মোবাইল কোর সার্ভিস ফ্রেমওয়ার্কগুলি যুক্ত করেছি।

খুব সাধারণ কোড:

#import <Photos/Photos.h>
#import <PhotosUI/PhotosUI.h>
#import <MobileCoreServices/MobileCoreServices.h>

@interface ViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate, PHLivePhotoViewDelegate>

@property (strong, nonatomic) IBOutlet UIImageView *imageview;

@end

এবং বাস্তবায়ন:

- (IBAction)grab:(UIButton *)sender{
    UIImagePickerController *picker = [[UIImagePickerController alloc]init];
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    picker.allowsEditing = NO;
    picker.delegate = self;

    // make sure we include Live Photos (otherwise we'll only get UIImages)
    NSArray *mediaTypes = @[(NSString *)kUTTypeImage, (NSString *)kUTTypeLivePhoto];
    picker.mediaTypes = mediaTypes;

    // bring up the picker
    [self presentViewController:picker animated:YES completion:nil];
}

আমি বোতামটি ট্যাপ করার সাথে সাথে অ্যাপটি খুব অকেজো ত্রুটির সাথে ক্র্যাশ হয়ে গেছে:

[access] <private>

এটাই. আর কিছু না.

বিরতি বিবৃতি ব্যবহার করে, অ্যাপ্লিকেশনটি "presentViewController" এ ক্র্যাশ হয়ে গেছে বলে মনে হচ্ছে।

এটি একেবারে নতুন অ্যাপ্লিকেশন এবং আমি ইউআইতে গ্র্যাব বোতাম বাদে অন্য কিছু নেই।

এছাড়াও, আইওএস 9.3 এ পরীক্ষা করা এটি দুর্দান্ত কাজ করে। আমি কি এমন কিছু মিস করছি যা আইওএস 10 এ পরিবর্তিত হতে পারে?


পরিষ্কার এবং তারপর নির্মাণ। কোনও পরিবর্তন না হলে সহজেই এক্সকোড 8 বা আইওএস 10 বিটাতে একটি বাগ হতে পারে যা ভবিষ্যতের আপডেটে অ্যাপল সমাধান করবে। আমি প্রায়শই এটির ক্ষেত্রে খুঁজে পাই - যদি এটি শেষ বিটা হয়, বা জিএম প্রকাশ হয় এবং এটি এখনও কাজ না করে, তবে এটি ঠিক করার বিষয়ে চিন্তা করার সময় হবে।
জর্ডান স্মিথ

1
হ্যাঁ, অ্যাপটি পরিষ্কার এবং মুছে ফেলার পরেও একই সমস্যা :(
প্রণয় সি

আমি এটা নিয়ে চাপ দেব না। এটি একটি বিটা রিলিজ। সম্ভাবনা বেশি হওয়ার সম্ভাবনা রয়েছে যে এটি বিটা নিয়ে একটি সমস্যা। আমি এক্সকোড 7 এ প্রকাশের কাছাকাছি হওয়া পর্যন্ত উন্নত করার পরামর্শ দেব।
জর্ডান স্মিথ

ঠিক আছে! আপনাকে ধন্যবাদ জর্ডান
প্রনয় সি

: @Jordan সৌন্দর্য আইওএস -10 হিসাবে একটি নতুন প্রয়োজন নেই মত সমাধান পড়ুন stackoverflow.com/a/38241350/1634905
Pranoy সি

উত্তর:


172

আপনার প্লাস্টে আপনাকে এনএসপি ফটো লাইব্রেরি ইউজেজ ডেসক্রিপশন রাখতে হবে। মত

<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) uses photos</string>

সমস্ত ব্যবহারের বিবরণ এখানে চেক করুন


1
দুঃখিত আপনি এই প্রকাশের নম্বরটি কীভাবে পেলেন?
প্রণয় সি

1
আইওএস ডাউনলোডের ওয়েবসাইটে, আমি ঠিক সঠিক ব্যবহারের বিবরণ কী দিয়ে সমাধান করেছি।
রকদাসউইফট

আপনাকে ধন্যবাদ, আপনার উত্তর এখনই সমস্যার সমাধান! আইওএস ১০-এর পর থেকে এটি একটি নতুন প্রয়োজনীয়তা t
প্রণয় সি

অনেক ধন্যবাদ! আমি এনএস অ্যাপ্লিক মিউজিক ইউজেজ ডেসক্রিপশন (আইটিউনস সংগীত লাইব্রেরি অ্যাক্সেস করা) দ্বারা জ্বলিত হয়েছি।
লাইফজয় করুন

4
@ আইমার আমি এই সমস্যাটি স্থির করেছি, আমি তথ্য.প্লেস্টে কীটি যুক্ত করেছি, তবে আমি প্রকল্প> লক্ষ্য> তথ্য অনুসারে এটি দেখতে পেলাম না। তাই আমি সেখানেও যুক্ত করেছি, এবং অ্যাপল আমার বাইনারি পাস করেছে। আমার সাথে এর আগে একবার ফেসবুক আইডি দিয়েছিল। কেন এটি সেখানে প্রদর্শিত হয়নি তা জানেন না।
রাহেল সাদিক

132

আইওএস 10-তে, আপনি ক্যামেরা, পরিচিতি ইত্যাদির মতো গোপনীয়তা-সংবেদনশীল ডেটা অ্যাক্সেস করার আগে, আপনাকে অবশ্যই অনুমোদনের জন্য জিজ্ঞাসা করতে হবে, বা আপনার অ্যাপ্লিকেশনটি অ্যাক্সেস করার সময় ক্রাশ হবে hen

এই অ্যাপ্লিকেশনটি ক্র্যাশ হয়েছে কারণ এটি কোনও ব্যবহারের বিবরণ ছাড়াই গোপনীয়তা-সংবেদনশীল ডেটা অ্যাক্সেস করার চেষ্টা করেছিল। অ্যাপ্লিকেশনটির তথ্য.পল্লিস্টটিতে অবশ্যই NSContactsUsageDescriptionঅ্যাপটি কীভাবে এই ডেটা ব্যবহার করে তা ব্যবহারকারীকে ব্যাখ্যা করে একটি স্ট্রিং মান সহ একটি কী থাকা উচিত ।

কিভাবে এটি মোকাবেলা?

আপনার প্রকল্পের নামক ফাইলটি খুলুন info.plist, ডানদিকে ক্লিক করুন, খোলার সাথে Source Code, নীচে এই কোডটি পেস্ট করুন। অথবা আপনি ডিফল্ট info.plistহিসাবে খুলতে পারেন Property List, অ্যাড বোতামটি ক্লিক করুন, Privacy - কীবোর্ড ⬆️ এবং ⬇️ এর সাহায্যে টাইপ করার সময় এক্সকোড আপনাকে প্রস্তাবটি সম্পূর্ণ করতে দেবে ⬇️

আপনি কেন এই অনুমোদনের জন্য, কেন <string>এবং এর মধ্যে </string>বা আপনার অ্যাপ্লিকেশনটিকে অ্যাপল প্রত্যাখ্যান করবে তা আপনার বিবরণ লিখতে ভুলবেন না :

<!-- 🖼 Photo Library -->
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) photo use</string>

<!-- 📷 Camera -->
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) camera use</string>

<!-- 🖼 Write To Image Gallery>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>$(PRODUCT_NAME) save phots in gallry</string>


<!-- 🎤 Microphone -->
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) microphone use</string>

<!-- 📍 Location -->
<key>NSLocationUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>

<!-- 📍 Location When In Use -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>

<!-- 📍 Location Always -->
<key>NSLocationAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) always uses location </string>

<!-- 📆 Calendars -->
<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) calendar events</string>

<!--  Reminders -->
<key>NSRemindersUsageDescription</key>
<string>$(PRODUCT_NAME) reminder use</string>

<!-- 📒 Contacts -->
<key>NSContactsUsageDescription</key>
<string>$(PRODUCT_NAME) contact use</string>

<!-- 🏊 Motion -->
<key>NSMotionUsageDescription</key>
<string>$(PRODUCT_NAME) motion use</string>

<!-- 💊 Health Update -->
<key>NSHealthUpdateUsageDescription</key>
<string>$(PRODUCT_NAME) heath update use</string>

<!-- 💊 Health Share -->
<key>NSHealthShareUsageDescription</key>
<string>$(PRODUCT_NAME) heath share use</string>

<!-- ᛒ🔵 Bluetooth Peripheral -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>$(PRODUCT_NAME) Bluetooth Peripheral use</string>

<!-- 🎵 Media Library -->
<key>NSAppleMusicUsageDescription</key>
<string>$(PRODUCT_NAME) media library use</string>

<!-- 📱 Siri -->
<key>NSSiriUsageDescription</key>
<string>$(PRODUCT_NAME) siri use</string>

<!-- 🏡 HomeKit -->
<key>NSHomeKitUsageDescription</key>
<string>$(PRODUCT_NAME) home kit use</string>

<!-- 📻 SpeechRecognition -->
<key>NSSpeechRecognitionUsageDescription</key>
<string>$(PRODUCT_NAME) speech use</string>

<!-- 📺 VideoSubscriber -->
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>$(PRODUCT_NAME) tvProvider use</string>

যদি এটি কাজ না করে, পটভূমি অনুমোদনের জন্য জিজ্ঞাসা করার চেষ্টা করুন:

<key>UIBackgroundModes</key>
<array>
    <!-- something you should use in background -->
    <string>location</string>
</array>

অথবা এখানে যান target -> Capabilities -> Background Modes -> open the background Modes:

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

তারপরে আপনার প্রকল্পটি পরিষ্কার করুন, এটি চালান।

আরও তথ্যের জন্য এখানে যান: আইওএস 10 অ্যাডাপ্টেশন টিপস


2
আমি কোথাও ফটো ব্যবহার করেছি এবং অ্যাপল আমার অ্যাপ্লিকেশনটিকে প্রত্যাখ্যান করছে, কোনও ধারণা ?. আমি সমস্ত পোড প্রকল্পগুলিও পরীক্ষা করে দেখি
রাহেল সাদিক

@ রাহেলসাদিক আপনি কেন এই অনুমোদনের জন্য জিজ্ঞাসা করছেন তার বিবরণটি লিখতে ভুলবেন না, <string> এবং এর মধ্যে </string>বা আপনার অ্যাপল আপেল দ্বারা প্রত্যাখ্যাত হবে।
ইলনচান

23

আইওএস 10 এ আপনি নীচের চিত্রটিতে উল্লিখিত কীটি যুক্ত করতে হবে যদি আপনি আপনার অ্যাপ্লিকেশনটিতে ক্যামেরা বা ফটো গ্যালারী ব্যবহার করছেন

.plist ইমেজ


14

আপনার প্রয়োজন তথ্য.প্লাইস্টে নতুন গোপনীয়তা সেটিংস যুক্ত করতে।

অ্যাপটি কেন পরিষেবা অ্যাক্সেস করতে হবে তা বর্ণনা করে মান যুক্ত করতে ভুলবেন না।

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


9

আইওএস 10-এ, অ্যাপল পরিবর্তন করেছে যে আপনি কীভাবে কোনও ব্যবহারকারীর ব্যক্তিগত ডেটা ধরণের অ্যাক্সেস করতে পারবেন।

আপনার অ্যাপ্লিকেশনটির এবং তাদের ব্যবহারের তথ্যের জন্য আপনাকে গোপনীয়তা - ফটো লাইব্রেরি ব্যবহারের বিবরণ কী যুক্ত করতে হবে Info.plist

আরও তথ্যের জন্য দয়া করে নীচের জিআইএফটি সন্ধান করুন।

জিআইএফ

অথবা আপনি যদি এর মাধ্যমে যুক্ত করতে চান info.plistতবে আপনাকে এনএসপি ফটো লাইব্রেরি ইউজেজডেস্ক্রিপশন কী যুক্ত করতে হবে ।

স্ট্রিংয়ের নীচে কেবল অনুলিপি করুন এবং আটকান info.plist

<key>NSPhotoLibraryUsageDescription</key>
<string>Take the photo</string>

আরও তথ্যের জন্য নীচের জিআইএফ সন্ধান করুন।

জিআইএফ


1
এবং <key>NS ক্যামেরা ব্যবহারের বিবরণ </কি> <স্ট্রিং> ছবি তুলুন </ স্ট্রিং>
নাসির খান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.