मेरे ऐप के माध्यम से एसएमएस भेजते समय, इसे केवल मोबाइल पर भेजना चाहिए, लेकिन कुछ संपर्कों के लिए जब दो नंबर हैं तो लैंडलाइन है और दूसरा मोबाइल है यह लैंडलाइन पर भी भेजता है ।मेरे ऐप को लैंडलाइन नंबरों पर एसएमएस भेजने से कैसे रोकें
- (NSMutableArray*)getContactsWithAddressBook:(ABAddressBookRef)addressBook {
contactList = [[NSMutableArray alloc] init];
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
for (int i=0;i < nPeople;i++) {
NSMutableDictionary *dOfPerson=[NSMutableDictionary dictionary];
ABRecordRef ref = CFArrayGetValueAtIndex(allPeople,i);
//For username and surname
ABMultiValueRef phones =(__bridge ABMultiValueRef)((__bridge NSString*)ABRecordCopyValue(ref, kABPersonPhoneProperty));
CFStringRef firstName, lastName;
firstName = ABRecordCopyValue(ref, kABPersonFirstNameProperty);
lastName = ABRecordCopyValue(ref, kABPersonLastNameProperty);
[dOfPerson setObject:[NSString stringWithFormat:@"%@ %@", firstName, lastName] forKey:@"name"];
//For Email ids
ABMutableMultiValueRef eMail = ABRecordCopyValue(ref, kABPersonEmailProperty);
if(ABMultiValueGetCount(eMail) > 0) {
[dOfPerson setObject:(__bridge NSString *)ABMultiValueCopyValueAtIndex(eMail, 0) forKey:@"email"];
}
NSLog(@"ABMultiValueGetCount(phones)=%ld",ABMultiValueGetCount(phones));
//For Phone number
NSString* mobileLabel;
for(CFIndex i = 0; i < ABMultiValueGetCount(phones); i++) {
mobileLabel = (__bridge NSString*)ABMultiValueCopyLabelAtIndex(phones, i);
if([mobileLabel isEqualToString:(NSString *)kABPersonPhoneMobileLabel])
{
[dOfPerson setObject:(__bridge NSString*)ABMultiValueCopyValueAtIndex(phones, i) forKey:@"Phone"];
}
else if ([mobileLabel isEqualToString:(NSString*)kABPersonPhoneIPhoneLabel])
{
[dOfPerson setObject:(__bridge NSString*)ABMultiValueCopyValueAtIndex(phones, i) forKey:@"Phone"];
break ;
}
}
[contactList addObject:dOfPerson];
}
return contactList;
}
लैंडलाइन संदेश के रूप में संदेश प्राप्त कर सकते हैं, आपको भी हर देश के लिए मोबाइल नंबर चेक लागू करने की आवश्यकता होगी। ऐसा करने का कोई आसान तरीका नहीं है, इस प्रकार मैं सुझाव देता हूं कि आप ऐसा न करें। – rckoenes
एक देश या दुनिया भर में? –