数组中的 CallKit 调用块设置值不起作用
CallKit call block set values from array not working
我正在开发一个应用程序,我希望其中的功能可以阻止呼叫。如果我将静态值传递给 addBlockingEntryWithNextSequentialPhoneNumber
它是阻塞数字但是当我在 addBlockingEntryWithNextSequentialPhoneNumber
中传递数组时它不是阻塞数字。我已经在 Appdelegate 中记录了我的数组,它看起来很好。
应用代码:
NSArray *sortedArr = [lockedArr sortedArrayUsingSelector:@selector(compare:)];
[DEFAULTS setObject:sortedArr forKey:@"SortedBlockedUsers"];
NSArray<NSNumber *> *blockedPhoneNumbers = [DEFAULTS objectForKey:@"SortedBlockedUsers"];
for (NSNumber *phoneNumber in blockedPhoneNumbers) {
NSLog(@"phoneNumber == %lld", (CXCallDirectoryPhoneNumber)[phoneNumber unsignedLongLongValue]);
}
输出为:phoneNumber == 918849494978 phoneNumber == 919142142124
Handler类代码:
NSArray<NSNumber *> *blockedPhoneNumbers = [[NSUserDefaults standardUserDefaults] objectForKey:@"SortedBlockedUsers"];
//NSArray<NSNumber *> *blockedPhoneNumbers = @[ @918823514521, @919586112211 ];
for (NSNumber *phoneNumber in blockedPhoneNumbers)
{
[context addBlockingEntryWithNextSequentialPhoneNumber:(CXCallDirectoryPhoneNumber)[phoneNumber unsignedLongLongValue]];
}
最后在调试我的扩展程序 class 之后,我发现问题是从 NSUserDefaults
向数组赋值。我们必须使用 NSUserDefaults SuiteName
保存和检索值才能与扩展 class.
交互
我正在开发一个应用程序,我希望其中的功能可以阻止呼叫。如果我将静态值传递给 addBlockingEntryWithNextSequentialPhoneNumber
它是阻塞数字但是当我在 addBlockingEntryWithNextSequentialPhoneNumber
中传递数组时它不是阻塞数字。我已经在 Appdelegate 中记录了我的数组,它看起来很好。
应用代码:
NSArray *sortedArr = [lockedArr sortedArrayUsingSelector:@selector(compare:)];
[DEFAULTS setObject:sortedArr forKey:@"SortedBlockedUsers"];
NSArray<NSNumber *> *blockedPhoneNumbers = [DEFAULTS objectForKey:@"SortedBlockedUsers"];
for (NSNumber *phoneNumber in blockedPhoneNumbers) {
NSLog(@"phoneNumber == %lld", (CXCallDirectoryPhoneNumber)[phoneNumber unsignedLongLongValue]);
}
输出为:phoneNumber == 918849494978 phoneNumber == 919142142124
Handler类代码:
NSArray<NSNumber *> *blockedPhoneNumbers = [[NSUserDefaults standardUserDefaults] objectForKey:@"SortedBlockedUsers"];
//NSArray<NSNumber *> *blockedPhoneNumbers = @[ @918823514521, @919586112211 ];
for (NSNumber *phoneNumber in blockedPhoneNumbers)
{
[context addBlockingEntryWithNextSequentialPhoneNumber:(CXCallDirectoryPhoneNumber)[phoneNumber unsignedLongLongValue]];
}
最后在调试我的扩展程序 class 之后,我发现问题是从 NSUserDefaults
向数组赋值。我们必须使用 NSUserDefaults SuiteName
保存和检索值才能与扩展 class.