There’s three parts to this:
ring indication
OS integration
VoIP transport
Are there actually 4 parts involved in implementing VoIP functionality - before the app can receive a ring indication/voip push would it would first need to perform some sort of SIP registration, where the user's sip identify and the iPhone IP address are sent to the SIP Registrar, and which also needs binding to the push token, so the user/phone can be located in order for it to be called.
How can the SIP registration be performed, is there any Apple API for such a thing?
Post
Replies
Boosts
Views
Activity
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x1da57effc __pthread_kill + 8
1 libsystem_pthread.dylib 0x1fc97e680 pthread_kill + 267
2 libsystem_c.dylib 0x19a587c24 __abort + 135
3 libsystem_c.dylib 0x19a587b9c abort + 191
4 libc++abi.dylib 0x1fc8ab660 abort_message + 131
5 libc++abi.dylib 0x1fc89b62c demangling_terminate_handler() + 347
6 libobjc.A.dylib 0x18a952d34 _objc_terminate() + 143
7 AppName 0x1042eb73c 0x10401c000 + 2946876
8 libc++abi.dylib 0x1fc8aaa24 std::__terminate(void (*)()) + 15
9 libc++abi.dylib 0x1fc8aa9c8 std::terminate() + 55
10 libdispatch.dylib 0x19a4cf314 _dispatch_client_callout + 39
11 libdispatch.dylib 0x19a4d2d48 _dispatch_block_invoke_direct + 283
12 FrontBoardServices 0x1ab071520 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 51
13 FrontBoardServices 0x1ab0714a0 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 239
14 FrontBoardServices 0x1ab071378 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 27
15 CoreFoundation 0x19256d31c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 27
16 CoreFoundation 0x19256c598 __CFRunLoopDoSource0 + 175
17 CoreFoundation 0x19256adac __CFRunLoopDoSources0 + 339
18 CoreFoundation 0x192569a88 __CFRunLoopRun + 827
19 CoreFoundation 0x192569668 CFRunLoopRunSpecific + 607
20 GraphicsServices 0x1d648f5ec GSEventRunModal + 163
21 UIKitCore 0x1949850d4 -[UIApplication _run] + 887
22 UIKitCore 0x194984710 UIApplicationMain + 339
23 AppName 0x10402bba8 0x10401c000 + 64424
24 dyld 0x1b5be6d44 start + 2103
Binary Images:
0x10542c000 - 0x10543ffff GAXClient arm64e <353bdba9434d3c5b8a82de8e5e74d5a2> /System/Library/AccessibilityBundles/GAXClient.bundle/GAXClient
0x105574000 - 0x10557ffff libobjc-trampolines.dylib arm64e <004cd10c9ab53df6b6afa18ad3e128c8> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
0x105ec0000 - 0x106047fff Localytics arm64 <57f63126fd363ca8ad56e45fb98aa6bd> /private/var/containers/Bundle/Application/4C76D1A7-8928-4DF0-88C7-BD010288065A/AppName.app/Frameworks/Localytics.framework/Localytics
0x1064dc000 - 0x1067b7fff hermes arm64 <f7fb66253d503d7f8dc7a13c98af70b5> /private/var/containers/Bundle/Application/4C76D1A7-8928-4DF0-88C7-BD010288065A/AppName.app/Frameworks/hermes.framework/hermes
0x1054c4000 - 0x1054d3fff VZWAuthentication arm64 <ce6c158ef799336887607ad8d6570fa3> /private/var/containers/Bundle/Application/4C76D1A7-8928-4DF0-88C7-BD010288065A/AppName.app/Frameworks/AuthenticationFramework.framework/AuthFramework
0x10401c000 - 0x104ecffff AppName arm64 <90f94d4853e93f61ad0b346331cc683f> /private/var/containers/Bundle/Application/4C76D1A7-8928-4DF0-88C7-BD010288065A/AppName.app/AppName
0x1da575000 - 0x1da5adfef libsystem_kernel.dylib arm64e <36e0966de3773b848f140f9f9457883b> /usr/lib/system/libsystem_kernel.dylib
0x1fc979000 - 0x1fc984ff3 libsystem_pthread.dylib arm64e <401a83f2bf5a302886a14fbee2c12777> /usr/lib/system/libsystem_pthread.dylib
0x19a512000 - 0x19a58fff3 libsystem_c.dylib arm64e <4f87531c494b3bc980b2488da8a939c2> /usr/lib/system/libsystem_c.dylib
0x1fc89a000 - 0x1fc8b1fff libc++abi.dylib arm64e <36326474e3b532408985f554caa59001> /usr/lib/libc++abi.dylib
0x18a924000 - 0x18a971f00 libobjc.A.dylib arm64e <4af3b26f95f53a0cbe43ddd978e6bc2f> /usr/lib/libobjc.A.dylib
0x19a4cb000 - 0x19a511fff libdispatch.dylib arm64e <584bc1890c3438fd85af5549557a0477> /usr/lib/system/libdispatch.dylib
0x1ab067000 - 0x1ab12afff FrontBoardServices arm64e <aa4b67f162713df5abb5af16d156d636> /System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices
0x192536000 - 0x192a62fff CoreFoundation arm64e <bcc5f0ee1e5d30968d7090e2dc70bb2e> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x1d648c000 - 0x1d6494fff GraphicsServices arm64e <4ce552d027b0384dab489f0291e6f5b3> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x194758000 - 0x19621afff UIKitCore arm64e <e7f0ae8eca1b357da26de6ef1e13a11b> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x1b5be1000 - 0x1b5c6811f dyld arm64e <f51894e0fd563e7cb3cf89c2cd2fd103> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? unknown-arch <00000000000000000000000000000000> ???
0x1fc8cf000 - 0x1fc8d5fe7 libsystem_platform.dylib arm64e <844fd362557831dbb9d313a46ba1ead6> /usr/lib/system/libsystem_platform.dylib
0x1914d4000 - 0x19203bfff Foundation arm64e <f69d66c48b9739a180ea9bcdda941dc0> /System/Library/Frameworks/Foundation.framework/Foundation
0x1fc9bc000 - 0x1fca00fff libxpc.dylib arm64e <ddbc8304de693bb0aeced42e5800ae9a> /usr/lib/system/libxpc.dylib
0x192a63000 - 0x193603fff Network arm64e <82c70443e2e03451a6a20358abb4ac27> /System/Library/Frameworks/Network.framework/Network
0x19d508000 - 0x19d590ffb SystemConfiguration arm64e <148f139f7d4b34b3803ffef400d401cd> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x1ff9a3000 - 0x200178ff7 ANECompiler arm64e <aabd194f688c3a319b39a33f814b252b> /System/Library/PrivateFrameworks/ANECompiler.framework/ANECompiler
0x193604000 - 0x1939ddfff CFNetwork arm64e <a915beb89d1c3e88a3141bbead9832ca> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
How stupid of me, it says it below, you just need to click on an arrow to expand it thats all
Oh, but I take that back, and consequently recasting my question. So I have an iPhone which has crashed lots of times, its been connected to my Mac for hours, but after going to ~/Library/Logs/CrashReporter/MobileDevice there is nothing there, the MobileDevice folder is totally empty. Yet I know for a fact there are crash reports on that iPhone because I can see them in XCodes Organizer (the reason I am asking this question is for getting reports without using XCode)
Once 1.1.1 is released, how can 1.1.0 be the "Official Release" - doesn't 1.1.0 cease to exist (on the app store) the moment 1.1.1 is released?
I've got an .ips file from an iPhone (created by turning on Hang Detection then re-creating a hang problem).
Near the top of the hang stack is
main + 96 (MyApp + 111416) [0x1040bb338]
Which is no use in trying to diagnose the issue. The Apple instructions for symbolicating a crash file say to use Xcode or the command line.
https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report#Symbolicate-the-crash-report-with-the-command-line
However this isn't a crash file, it's a hang file, but is that any reason why it shouldn't be symbolicatable. Dragging it into Xcode as they say to do for crash files doesn't do anything, so instead I've been trying to use the command:
atos -arch -o /Contents/Resources/DWARF/ -l
However I don't know how to determine the LoadAddress and AddressToSymbolicate, as the example given is for a crash file.
I tried this but it didn't work (it says fg: no current job)
atos -arch arm64 -o MyApp.app.dSYM/Contents/Resources/DWARF/MyApp -l 111416 0x1040bb338
Is it possible to get the load address and address to symbolicate from the .ips file?
More examples here: https://developer.apple.com/forums/thread/746567 - the app hangs in many different locations, but the .ips stack always features NSLog and __ulock_wait2.
That's not possible. You can't upload a build to TestFlight which will have pushes set to development.
Consider making a development .ipa and installing via Apple Configurator.
@Eskimo Thank you.
In the documentation it gives an example of when a Contact Provider could be used: "This allows apps like Phone and Mail to provide personal names and images for incoming calls or messages when your app knows the caller or sender."
However with that example given, an app can provide names for a call via the CallKit CallExtension, or it could provide names and images during a call via the live Caller ID lookup extension.
Therefore I was wondering what a Contacts Provider brings to the table in this example, that the other two don't?
Forgot to ask if there are any limits imposed on the size of the databases.
Our dataset of phone numbers to identify/block is hundreds of millions.
AFAIK though its not possible to create a different account? When you create an account you have to supply info like your business sku, and legally registered business name and address and banking info etc. etc.
The same company cannot create multiple developer accounts can they?
Thank you that did the trick.
However, do you happen to know the specifics of using ContactAccessButton via UIKit? If I display it, and click on its button, then I can see that its expecting a callback/delegate, however I don't see how to can add one programmatically using it in a UIViewController/UIView/Storyboard way.
Feedback submitted FB15266709
BTW there's a copy/paste typo in the original posting, this will cause the issue:
response.transactionalSubActions = [.transactionalCarrier, .transactionalHealth, .transactionalPublicServices, .transactionalFinance, .transactionalWeather, .transactionalRewards, .transactionalOrders, .transactionalOthers, .transactionalReminders]
response.promotionalSubActions = [.promotionalOffers, .promotionalOthers, .promotionalCoupons]
Or also this would too:
response.transactionalSubActions = [ILMessageFilterSubAction.transactionalHealth]
response.promotionalSubActions = [ILMessageFilterSubAction.promotionalCoupons]