apple / live-caller-id-lookup-example

Example service & documentation for Live Caller ID Lookup
https://swiftpackageindex.com/apple/live-caller-id-lookup-example/main/documentation/pirservice
Apache License 2.0
110 stars 6 forks source link

identity request returned error #17

Closed dawnightillight closed 3 months ago

dawnightillight commented 3 months ago

Hi, we wrote an extension on iOS 18 beta3 and ran this demo locally, they worked well, except for a few issues :

We got this error (printed in console) when a phone call come and the system trying to block / identity the call number :

identity request returned error: Error Domain=com.apple.CipherML Code=400 "Error Domain=com.apple.CipherML Code=401 "Unable to request data by keywords batch: missing configuration" UserInfo={NSLocalizedDescription=Unable to request data by keywords batch: missing configuration, NSUnderlyingError=0x65e235e60 {Error Domain=CipherML.CipherMLError Code=25 "missing configuration" UserInfo={NSLocalizedDescription=missing configuration}}}: missing configuration" UserInfo={NSLocalizedDescription=Error Domain=com.apple.CipherML Code=401 "Unable to request data by keywords batch: missing configuration" UserInfo={NSLocalizedDescription=Unable to request data by keywords batch: missing configuration, NSUnderlyingError=0x65e235e60 {Error Domain=CipherML.CipherMLError Code=25 "missing configuration" UserInfo={NSLocalizedDescription=missing configuration}}}: missing configuration, NSUnderlyingError=0x65e235e60 {Error Domain=CipherML.CipherMLError Code=25 "missing configuration" UserInfo={NSLocalizedDescription=missing configuration}}}

Is there any solution to this problem ?

karulont commented 3 months ago

It sounds like the system is trying to fetch configuration for a "usecase" that your server instance is not hosting, which results in the error you got: the system does not have configuration for the "usecase".

In Running the service it is said that:

The name will be used by the device to identify the dataset. In this example, we assume that the bundle identifier of the on-device Live Caller ID Lookup Extension is net.example.lookup. Then the system will try to fetch the blocking information from net.example.lookup.block and the identity information from net.example.lookup.identity.

Make sure you modify the usecase names in service-config.json file based on your extension name.

dawnightillight commented 3 months ago

That's the problem. Now it works after fixing the bundle identifier, thanks for your help ^^