iphone plus আইওএস 9 ত্রুটিযুক্ত ডোমেন=কেসিএলিররডোমেন কোড=0 "(নাল)"




iphone xs (5)

নীচের কোডটিতে বর্তমান অবস্থান পাওয়া উচিত। কিন্তু উপরের ত্রুটি উত্পন্ন হয়। ফাংশন ডুউপডেটলোকেশন কখনই কল হয় না।

এটি কোনও ডিভাইসে (আইফোন 5 এস) আইওএস 9.1। তথ্য.পিলিস্টে প্রয়োজনীয় ডিভাইস ক্ষমতা এবং গোপনীয়তা রয়েছে - সংযুক্ত চিত্রটিতে প্রদর্শিত হিসাবে ব্যবহারের বর্ণনা বর্ণনা কনফিগার করা হয়েছে। সাহায্য করুন!

let locationManager = CLLocationManager()

override func viewDidLoad() {
    super.viewDidLoad()
    locationManager.delegate = self
    locationManager.requestAlwaysAuthorization()
    locationManager.requestLocation()
}


func locationManager(manager: CLLocationManager,
    didFailWithError error: NSError) 
    print(error.description)
}

func locationManager(manager: CLLocationManager, didUpdateLocations
      locations: [CLLocation]) {        
 print(“got location”)
}


আমি 8.0 -> 9.0 / 9.1 থেকে চলে যাচ্ছিলাম এমন একটি অ্যাপ্লিকেশনে আমার একই সমস্যা ছিল। আমি CLLocationManager অংশটি কেবল সুইফটে এবং একটি নতুন ওবজ-সি প্রকল্পে লেখার মতো কয়েকটি বিষয় চেষ্টা করেছি। আমি এটি বিভিন্ন ডিভাইসেও পরীক্ষা করেছি। ডিভাইসে সমস্যাটি সমাধান করতে, আমি didFailWithError Func সরাল। যা ত্রুটি পুরোপুরি বন্ধ করে দেয়। এটি সেরা ধারণা বলে মনে হচ্ছে না তবে আইওএস 9-এ আপনি আপনার অ্যাপ্লিকেশনটি এমন ডিভাইসে সীমাবদ্ধ করতে পারেন যা জিপিএস বা অবস্থান-পরিষেবাদি রয়েছে। অ্যান্ড্রয়েড সত্যিই দীর্ঘকাল ধরে এটি করছে। আমি আপনার .plist এও লক্ষ্য করেছি যে আপনার কাছে NSLocationALwaysUsageDescript বা NSLocationWhenInUseUsageDescrtiption বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করার জন্য সক্ষম অনুমতি নেই।

কেবলমাত্র রেফারেন্সের জন্য আমি আমার বর্তমান .plist দেখতে দেখতে যা সংযুক্ত করেছি সেটিকে এই ত্রুটিটি অজানা দেয় না পাশাপাশি নিয়ন্ত্রণকারী ফাইলেজেজেজে-সি-তে একটি কোড খণ্ডিত করে। কোডটি পূর্ববর্তী ফাংশনটির একেবারে শেষে শুরু হয় এবং তারপরেই ডেইডফেইটওয়াইথেরির প্রতিনিধি এবং ডু ইউপডেটলোকেশনগুলি মন্তব্য করেছে। বর্তমানে এটি আইওএস 9.1 এ সফলভাবে কাজ করছে

       //Get map authorization
    [CLLocationManager locationServicesEnabled];
    locationManager = [[CLLocationManager alloc]init];
    locationManager.delegate = self;
    locationManager.allowsBackgroundLocationUpdates = YES;
    if(nil == locationManager) locationManager = [[CLLocationManager alloc]init];
    if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
        [locationManager requestAlwaysAuthorization];
    }
    //locationManager.distanceFilter=10;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;

    [locationManager startUpdatingLocation];



//- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
//{
//    NSLog(@"didFailWithError: %@", error);
//    UIAlertView *errorAlert = [[UIAlertView alloc]
//                               initWithTitle:@"Error" message:@"Failed to Get Your Location" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
//    [errorAlert show];
//}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{


    NSLog(@"LocationUpdated: %@",[locations lastObject]);
    [self updateMapMarkers];

//    NSDate* eventDate = location.timestamp;
//    NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
//    if(fabs(howRecent) < 15.0){
//        [self updateMapMarkers];
//    }

}


লোকেরা তাদের অ্যাপে অ্যাপল মানচিত্র ব্যবহার করার জন্য আমার এই পরামর্শগুলি রয়েছে

  1. সিমুলেটারের ফলাফলগুলিতে রিলে করবেন না, কারণ সর্বদা এটি সঠিক ফলাফল দেয় না।
  2. রিয়েল ডিভাইসগুলিতে সমস্ত মানচিত্র সম্পর্কিত ডিবাগিং এবং সম্পাদন পরীক্ষার জন্য।
  3. এক্সকোড ৮ এর মতো (আমার জ্ঞানের সাথে) আপনি কেবল আপনার আইওএস ডিভাইসটিকে সিস্টেমে সংযুক্ত করতে পারেন এবং অ্যাপ্লিকেশনটি সরাসরি চালাতে পারেন।
  4. এমনকি উপরের সমস্যার সমাধান একই, কেবল আসল ডিভাইস দিয়ে চেষ্টা করুন আপনার সমস্যাটি সমাধান হয়ে যাবে।

দয়া করে এটি চেষ্টা করুন:

যাও :

  • প্রোডাক্ট -> স্কিম -> এডিট স্কিম -> বিকল্পসমূহ -> অবস্থানের অনুমতি দিন সিমুলেশন অবশ্যই পরীক্ষা করা উচিত এবং একটি ডিফল্ট অবস্থান সরবরাহ করার চেষ্টা করুন, এটিকে "কোনও নয়" এ সেট করবেন না

সম্পাদনা : মন্তব্যে উল্লিখিত হিসাবে, এক্সকোড পুনরায় আরম্ভ করুন এবং আপনার কাজ শেষ!

আশাকরি এটা সাহায্য করবে.


যদি অবস্থান অনুমোদনের সতর্কতাটি আপনার জন্য পপ আপ না করে থাকে তবে টাইপ স্ট্রিং হিসাবে আপনার প্লাস্টে NSLocationAlwaysUsageDescript যুক্ত করার চেষ্টা করুন। এছাড়াও, NSLocationWhenInUseUsageDescription জন্য একই কাজ করুন।


সিমুলেটর -> ডিবাগ -> অবস্থান থেকে এটি ব্যবহার করে দেখুন