IOS CallKit calling Identify Got Rejected - ios

In my app, I use the CallKit to identify any call from my app user. And there is a logic pop up an alert window that checks whether the user has turned on the Identify and Blocking in app settings. (which you see in my screen shot). And this is the reason I got my app rejected by apple. They told me to add some privacy key in info.plist. But there is no any private key related to Callkit calling identify.
So, I do not know how to deal with this, is there any one have same experience
?Please show me what you do to this problem, thx a lot.

There's conflicting information about this. One (accepted) answer here says it's not needed, but the comments in this blog post and this StackOverflow answer says the key you are looking to add is NSVoIPUsageDescription (for CallKit and VoIP).
So that's the key I would add into my Info.plist file, along with a description string in the value section.
This Apple forum thread has a different possible key that you could try, too.

Related

Apple keeps rejecting app with AdMob because of bluetooth notification string not correct

Since IOS 13 came to live old 3 party APIs stopped working, In my app i needed to fix few because of that so i needed to fit it to IOS 13.
Since then Apple keeps rejecting my app because of Bluetooth user notification is not correct.
I just don't know what to write there, It is so annoying. I have to add it because of AdMobs and there is nowhere to say what to write over there.
I don't user BT in my app, it is just the AdMobs beacons that needs it probably.
I've tried:
and
And i will probably will have the same issue with the calendar message also.
When i try to remove it they demand it and then not approving it.... I understand maybe the first one but what wrong with the the second one? why is that no clear enough for them?
10x
see apple docs below: https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/requesting-permission/
Explain why your app needs the information. Provide custom text (known
as a purpose string or usage description string) for display in the
system's permission request alert, and include an example. Keep the
text short and specific, use sentence case, and be polite so people
don't feel pressured. There’s no need to include your app name—the
system already identifies your app. For developer guidance, see
Protecting the User's Privacy.
you're not explaining exactly why you need access to bluetooth. you must be specific. saying, "XYZ app needs access to bluetooth to interact with beacons to serve you location based advertisements"
something like that should do. no cutting corners, no trying to put it off on Google, just say it like it is and you'll likely pass through app approval without a problem.

Programmatically retrieving ECID of iphone

Is there a way to find the ECID of a iPhone programmatically?
I know that this is the same question as https://stackoverflow.com/questions/4978725/calling-amdevicecopyvalue-from-mobiledeviceframework-help-please/30481898#30481898 but the answers there use IOKit which has been depreciated. so is there any other way to it.
Can this be done in iOS7?
Could you give us an idea what you need the ECID for?
Apple no longer allow of the usage of unique device ID's, the best you can get is the Vendor ID see the docs here. (Assuming you are going to be submitting to the app store). Also this ID value may change on app reinstall, which may or may not be a problem for you.
The exception to this is the Advertising ID but they may only be used for serving advertisements, see here.
You could also use NSUUID to generate you own ID string, see docs here.
Also, saving whatever ID value you use in the keychain will allow persistance through app reinstalls. Keychain docs are here.

Access call history on iOS

In my iOS application I need to get all call history (dialled,recieved,missed) from an iOS device and display as a list in my application.
So many answers are there previously for this question.But I didn't get exact answer for my question.
If anybody worked on this question previously please let me know the answer immediately.
There is no public API for accessing the call history on iOS.
If you wanted to do this in a private app that couldn't be released on the App Store you could look at this link.
There are apps on the store that use the above method, but I wouldn't rely on it passing review. I think the apps that do use it may have slipped through the net.
Apple has introduced framework called Callkit. Though you cannot access all the call log, you can have some control over calls like
Identifying incoming calls
Blocking calls etc
https://developer.apple.com/reference/callkit

Can we get wrist raised event for apple watch?

We have started with apple watch and gone through many documents and links.
We want to build some use cases when user raises his/her wrist when using apple watch.
Even if going through many documents and links still below question is uncleared.
Is it possible to get any event in objective c when user raises his/her wrist?
Please advise if my question is not clear here.
Thanks in advance.
No, with current API it's not possible.
However Watch/WatchKit somehow can distinguish this gesture, short-look/long-look notification mechanism is based on that.

HOWTO set the text of the AddressBookAccessRequest alertView?

I know that in iOS 6 we should request the access to contacts first like below :
But now, I wonder how to add detail message in the alert view, just between the alert-title and two buttons. I did see some-app had done that.
I use ABAddressBookCreateWithOptions and ABAddressBookRequestAccessWithCompletion, but the previous one's option is reserved as NULL while the later one only accepts a callback block.
I searched a lot, like another Q, iOS 6 Release Notes and Apple Doc, but failed to make it.
Thanks a lot for any help. :)
You can use NSContactsUsageDescription key for this purpose.
Add this key to your info.plist and add the Message you want to display as the value.
NSContactsUsageDescription
NSContactsUsageDescription (String - iOS) describes the reason that
the app accesses the user’s contacts. When the system prompts the user
to allow access, this string is displayed as part of the dialog box.
This key is supported in iOS 6.0 and later.
Please check InfoPlistKeyReference for more keys.

Resources