Post

Replies

Boosts

Views

Activity

What does iOS do wrt Shared Web Credentials when it makes a call to a server to perform a message filter request
In order to create a Message Filter Extension it is necessary to set up Shared Web Credentials. I'd like to form an understanding of what role SWC plays when the OS is making request to the associated network service (when the extension has called deferQueryRequestToNetwork()) and how this differs from when an app directly uses Shared Web Credentials itself. When an app is making direct use of SWC, it makes a request to obtain the user's credentials from the web site. However in the case of a Message Filter Extension, there aren't any individual user credentials, so what is happening behind the scenes when the OS makes a server request on behalf of a Message Filtering Extension? A more general question - the documentation for Shared Web Credentials says "Associated domains establish a secure association between domains and your app.". Thank you
2
0
452
Apr ’25
What type of encryption algorithms does your app implement?
When uploading to Testflight the following questions get posted. How to answer this question gets asked in many forums, however none of the answers are satisfactory and it seems every body misreads option two. What type of encryption algorithms does your app implement? Encryption algorithms that are proprietary or not accepted as standard by international standard bodies (IEEE, IETF, ITU, etc.) Standard encryption algorithms instead of, or in addition to, using or accessing the encryption within Apple's operating system Both algorithms mentioned above None of the algorithms mentioned above In the case where an application is using standard encryption provided by the OS itself and isn't doing anything proprietary, what should the answer be? Many people on the internet say the answer should be 2). 2) Does mention standard encryption algorithms, but everybody seems to gloss over this phrase "instead of, or in addition to, using or accessing the encryption within Apple's operating system" Two is not saying the app uses standard encryption algorithms from the OS, two is saying using standard encryption algorithms instead of or in addition to, those provided by the OS. In the above options, there is none to select for the situation where the app only uses standard algorithms from the OS. If that is what 2 is meant to be, then the grammar and English usage doesn't not actually mean that. The phrase "instead of or in addition to" changes that. So what option to choose? Is there a bug in 2 and its English grammar is incorrect and doesn't convey the actual intended meaning?
2
0
615
Jan ’25
Message Filter Extension and domain alternate mode
The documentation (https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.developer.associated-domains) for a message filter extension says: If you use a private web server, which is unreachable from the public internet, while developing your app, enable the alternate mode feature to bypass the CDN and connect directly to your server. <service>:<fully qualified domain>?mode=<alternate mode> Where alternate mode is one of the following: developer Specifies that only devices in developer mode can access the domain. In this mode, you can use any valid SSL certificate on your web server, including a certificate that the system doesn’t trust. What does it mean "you can use any valid SSL certificate on your web server"? Does the app have to do anything with regards to this?
2
0
388
Jan ’25
Released app repeatedly crashing on launch, Crashlytics is enabled but no crash reports getting sent
I've users reporting a crash on app launch which I'm unable to reproduce. The app has Crashlytics but none of the crashes are getting sent to the Crashlytics console (Crashlytics is set up correctly and reports can get through for when the app doesn't crash on startup, but not getting sent for this). I've managed to get a crash report off a phone, but can't see anything useful. Are there any clues in here as to the possible cause? Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: SIGNAL 6 Abort trap: 6 Terminating Process: AppName [566]` Last Exception Backtrace: 0 CoreFoundation 0x192622870 __exceptionPreprocess + 164 1 libobjc.A.dylib 0x18a94fc00 objc_exception_throw + 59 2 AppName 0x1046b7450 0x10401c000 + 6927440 3 AppName 0x104683990 0x10401c000 + 6715792 4 AppName 0x10468542c 0x10401c000 + 6722604 5 AppName 0x1040b5900 0x10401c000 + 628992 6 AppName 0x1040b593c 0x10401c000 + 629052 7 AppName 0x10408a3b0 0x10401c000 + 451504 8 AppName 0x10407f320 0x10401c000 + 406304 9 AppName 0x10407f4a4 0x10401c000 + 406692 10 AppName 0x1040346c0 0x10401c000 + 100032 11 UIKitCore 0x194969ddc -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 319 12 UIKitCore 0x194968f44 -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 2855 13 UIKitCore 0x194967f28 -[UIApplication _runWithMainScene:transitionContext:completion:] + 855 14 UIKitCore 0x194967b74 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 131 15 UIKitCore 0x1948e4434 _UIScenePerformActionsWithLifecycleActionMask + 111 16 UIKitCore 0x19496bb70 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 215 17 UIKitCore 0x19489329c -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 219 18 UIKitCore 0x194891d14 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 607 19 UIKitCore 0x19489167c -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 247 20 UIKitCore 0x19489154c __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 147 21 UIKitCore 0x194891454 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:] + 735 22 UIKitCore 0x194890cdc _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion + 223 23 UIKitCore 0x19489098c -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 315 24 UIKitCore 0x194c13520 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.225 + 611 25 UIKitCore 0x19488fb10 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 215 26 UIKitCore 0x19488f980 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 243 27 UIKitCore 0x1949a826c -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 507 28 UIKitCore 0x1949a8004 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 287 29 FrontBoardServices 0x1ab0766d4 -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] + 323 30 FrontBoardServices 0x1ab076570 __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.108 + 279 31 FrontBoardServices 0x1ab07519c -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 167 32 FrontBoardServices 0x1ab080f8c __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke + 351 33 libdispatch.dylib 0x19a4cf300 _dispatch_client_callout + 19 34 libdispatch.dylib 0x19a4d2d48 _dispatch_block_invoke_direct + 283 35 FrontBoardServices 0x1ab071520 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 51 36 FrontBoardServices 0x1ab0714a0 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 239 37 FrontBoardServices 0x1ab071378 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 27 38 CoreFoundation 0x19256d31c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 27 39 CoreFoundation 0x19256c598 __CFRunLoopDoSource0 + 175 40 CoreFoundation 0x19256adac __CFRunLoopDoSources0 + 339 41 CoreFoundation 0x192569a88 __CFRunLoopRun + 827 42 CoreFoundation 0x192569668 CFRunLoopRunSpecific + 607 43 GraphicsServices 0x1d648f5ec GSEventRunModal + 163 44 UIKitCore 0x1949850d4 -[UIApplication _run] + 887 45 UIKitCore 0x194984710 UIApplicationMain + 339 46 AppName 0x10402bba8 0x10401c000 + 64424 47 dyld 0x1b5be6d44 start + 2103 Thread 0 posted as comment
1
0
846
Oct ’23
New iPhone 15 Pro - can't enabled Developer Mode (because its not there) and XCode doesn't recognize the device
An hour ago I received a new iPhone 15 Pro, however I can't enable developer mode for it. Developer mode doesn't appear in the Setting | Privacy & Security | Security section. However I read thats to be expected now for iOS 17, and that it can be enable within XCode (although I didn't have to do that with any of my other phones which have iOS 17 on them, and for all of those Developer Mode does appear in Settings). However XCode (v15, release version not beta version) doesn't recognize the device. On the iPhone I've Trusted the Mac and restarted the phone and XCode but XCode just won't see it. Apple Configurator 2 has no problem seeing/connecting to the iPhone, nor does the iExplorer app, but XCode just won't. What can I try next?
1
0
4.5k
Oct ’23
How do you symbolicate a .ips file? & .crash symbolication instructions out of date
I've got a .ips file from a handset that had hang detection turned on. Its not fully symbolicated, how can I symbolicate it? On that topic, the instructions for symbolicating a .crash file are out of date: https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report It says "click the Device Logs button in the Devices and Simulators window, then drag and drop the crash report file into the list of device logs." However with XCode 15.1 there is no Device Logs button in the Devices and Simulators window. (If there were that button, presumably these instructions only apply for logs collected from the same device as listed in Devices and Simulators. What if you have a log collected from a device to which you don't have access for it to be in Devices and Simulators?)
1
1
2.7k
Feb ’24
Whats going on with privacy manifests especially wrt the email from Apple, or lack of
Many months ago Apple stated: "From Fall 2023 you’ll receive an email from Apple if you upload an app to App Store Connect that uses required reason API without describing the reason in its privacy manifest file" Yet it seems nobody has received them? So whats the latest situation with this, if there's a mandatory requirement to add the privacy manifest by Spring how can people meet that now looming deadline if they haven't received the email that was due in the Fall?
1
0
693
Feb ’24
How can an app detect which environment a push should be sent over / how should a server know whether to send pushes via production or sandox?
If a server is sending a push to an app, then how can it know whether it should be sending the push using the Apple sandbox push server, or the production server? If the app is on the app store or testflight then it needs to be using the sandbox server, but if the app is being run via XCode interactively as devs are developing/testing then the push needs to be sent via the sandbox server. But the server itself has no idea if the app was installed via Testflight/app store/XCode/ or a development .ipa. So the server can't know how to send the push. The app has to send the push token to the server anyway, so the app could inform the server which environment it should be sent over. But then how can the app detect that itself? A naive answer is to use #ifdef DEBUG to detect this, but that is incorrect. Which environment a push should be sent over is not correlated with that. For example an app could be being run with a debug scheme or a release scheme, but in both cases if the app is installed/running via xcode then the push environment has to be the sandbox. So my question is, is there a way the app can detect which push environment a push should be sent over in order than it can instruct the server accordingly?
1
2
741
Nov ’24
Switch between distributing code as source / as a binary
I'm getting confused reading conflicting information about Swift Packages (for example, many sources say its for distributing source code only, but Apple's documentation says a binary framework can be included in them). What I would like to be able to do is to distribute a project as a binary to external customers (so they cannot see the source code) but distribute it as source code for internal consumption (so when developing a test app that uses the project, source code can be stepped through in the debugger etc.) Is the feasible/easy? Could a package manifest be created that can easily be flipped between creating a package containing source only, and a binary only. Or would it be better to have two separate manifests?
1
0
636
Jun ’24
Confused between custom URL schemes and Universal linking and redirecting to the app store
I have a requirement to launch an app from another app (there is no requirement to launch the app from a website), and if its not installed then for the user to be redirected to the app store to download the app. The app already has a custom url scheme implemented, however the documentation and tutorials in this area are confusing and unclear. In order to launch the app, the custom url scheme will provide that, however, in order to get the redirection to the app store then firstly does the custom url scheme have to be replaced with universal links? Secondly, is it necessary to have a webpage that links to the app store? Is it possible to get this behaviour without having a website? Is it the case that Apple doesn't provide this functionality and developers have to have the hassle of hosting a website purely just for the sake of redirecting to the App Store?
1
0
1.1k
Aug ’24
Recommended way for an app to launch into the App Store
While searching I've seen more than one url form used for launching from an app into the iPhone's App Store app. Both of these work, but is one preferred to the other, if so why, or are they exactly equivalent? let appStoreLink1 = "https://itunes.apple.com/us/app/apple-store/idNNNNN?mt=8" let appStoreLink2 = "https://apps.apple.com/us/app/name-of-app/idNNNNN" if let url = URL(string: appStoreLink1 or appStoreLink2), UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url, options: [:], completionHandler: {(success: Bool) in ...
1
0
564
Aug ’24
Is the Communication Notifications capability required for a Notification Service Extension and a Notification Content Extension?
I would like to add both a Notification Service Extension and a Notification Content Extension to my application. After reading some documentation and tutorials etc. I'm not clear if the Communication Notifications capability is needed or not. If it is, should it get added to the App ID or the notification IDs, or both?
1
0
620
Aug ’24
Is it possible to include source code from an app extension in a framework?
If I have an XCode project that generates a framework when built, then I've noticed that its possible to add new additional targets to the project of type app extension. However if I add some source code to an app extension and regenerate the framework, then that source code is not accessable from the resulting framework (i.e. if the framework is included into an app, then the app code doesn't have visibility of the code that was added to the extension in the framework). Is this something which is possible to achieve? Ideally I would like to package the main source code that constitutes the framework content, along with the source code for a few extensions into a single framework, so that the app(s) that use the framework can include the framework into their main app target and also include it in the app extension target. I noticed that if the scheme of the framework is changed to the extension before building, then the result is not a .framework file but a .appex file. For client apps of the framework, can they directly include/use that .appex file? If so how can that be achieved? Does
1
0
458
Nov ’24