Post

Replies

Boosts

Views

Activity

Reply to Is there a way of specifying unicode characters for the BUNDLE_DISPLAY_NAME in an .xcconfig?
@Scott Hello. Do you know how to enter a character such as this directly into the xcconfig file? UPDATED - found out how to enter unicode characters on a Mac: Go to System Settings/Keyboard, on the lhs click + and add Unicode Hex Input. Then in the Mac's tool bar at the top switch the keyboard to Unicode, then click Option + the unicode code i.e. in my case Option+2002. The key is to switch to the Unicode input keyboard first.
Jan ’25
Reply to Is it safe to access the contents of an app's bundle from within an app extension?
Here's a bit of specific code example, suppose an app extension wants to obtain the value of something in the info.plist which is in the app's bundle (rather than the extension's bundle). Can it be guaranteed that the app's bundle is always accessible/loaded etc. when being accessed from the app extension? private class func getObjectFromInfoPlist(name: String) -> Any? { var bundle = Bundle.main if bundle.bundleURL.pathExtension == "appex" { let url = bundle.bundleURL.deletingLastPathComponent().deletingLastPathComponent() if let otherBundle = Bundle(url: url) { bundle = otherBundle } } return bundle.object(forInfoDictionaryKey: name) }
Topic: App & System Services SubTopic: Core OS Tags:
Jan ’25
Reply to Does your app provide end-to-end encryption?
The app sends/receives payloads from a server, these payloads themselves are not encrypted (beyond https), however the http header contain a custom field with a JWT (so the server can verify the app is who it says it is). This JWT contains a SHA256 hash. As this is just a small thing and not really a part of the actual send/received payloads, I'm unsure if the answer should be yes or not.
Jan ’25
Reply to iOS 18.2: Blocked Calls Still Appearing as "Unanswered" Instead of "Blocked"
I just tried this myself with a phone that has 18.2 and wasn't able to observe it. I made an (unblocked call to the handset) in the call history it shows the number and the location of the caller. Then I blocked it (using Call Kit) and made another call, now it shows the number and below it it says "Name of app: blocked" I tried with another phone with iOS 18.3, this time blocking it before making the call, the result was the same i.e. it shows the call appears in the call log with the name of the app that blocked it. So therefore, how are you reproducing this? However one did I did notice was that if the number is blocked by the OS itself i.e. if you make a call then tap the (i) in the call history, and then tap Block Caller and then make a call, then in that case the call doesn't even appear in the call history. Something has also changed - when iOS 18 first was released, the OS posted a notification when a call was blocked by CallKit, this is no longer happening with iOS 18.2 or 18.3
Topic: App & System Services SubTopic: Core OS Tags:
Dec ’24
Reply to Is there a way of specifying unicode characters for the BUNDLE_DISPLAY_NAME in an .xcconfig?
@Scott Hello. Do you know how to enter a character such as this directly into the xcconfig file? UPDATED - found out how to enter unicode characters on a Mac: Go to System Settings/Keyboard, on the lhs click + and add Unicode Hex Input. Then in the Mac's tool bar at the top switch the keyboard to Unicode, then click Option + the unicode code i.e. in my case Option+2002. The key is to switch to the Unicode input keyboard first.
Replies
Boosts
Views
Activity
Jan ’25
Reply to Is it safe to access the contents of an app's bundle from within an app extension?
Here's a bit of specific code example, suppose an app extension wants to obtain the value of something in the info.plist which is in the app's bundle (rather than the extension's bundle). Can it be guaranteed that the app's bundle is always accessible/loaded etc. when being accessed from the app extension? private class func getObjectFromInfoPlist(name: String) -> Any? { var bundle = Bundle.main if bundle.bundleURL.pathExtension == "appex" { let url = bundle.bundleURL.deletingLastPathComponent().deletingLastPathComponent() if let otherBundle = Bundle(url: url) { bundle = otherBundle } } return bundle.object(forInfoDictionaryKey: name) }
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Jan ’25
Reply to Does your app provide end-to-end encryption?
But https is encryption! Hence this question. Is that what they are asking, or something else. Xcode/iOS knows if an app is using http rather than https (try using http and you'll get errors etc.), so if it can detect it, why ask if you are using it. Therefore the question presumably means something other than https.
Replies
Boosts
Views
Activity
Jan ’25
Reply to Does your app provide end-to-end encryption?
The app sends/receives payloads from a server, these payloads themselves are not encrypted (beyond https), however the http header contain a custom field with a JWT (so the server can verify the app is who it says it is). This JWT contains a SHA256 hash. As this is just a small thing and not really a part of the actual send/received payloads, I'm unsure if the answer should be yes or not.
Replies
Boosts
Views
Activity
Jan ’25
Reply to iOS 18.2: Blocked Calls Still Appearing as "Unanswered" Instead of "Blocked"
I just tried this myself with a phone that has 18.2 and wasn't able to observe it. I made an (unblocked call to the handset) in the call history it shows the number and the location of the caller. Then I blocked it (using Call Kit) and made another call, now it shows the number and below it it says "Name of app: blocked" I tried with another phone with iOS 18.3, this time blocking it before making the call, the result was the same i.e. it shows the call appears in the call log with the name of the app that blocked it. So therefore, how are you reproducing this? However one did I did notice was that if the number is blocked by the OS itself i.e. if you make a call then tap the (i) in the call history, and then tap Block Caller and then make a call, then in that case the call doesn't even appear in the call history. Something has also changed - when iOS 18 first was released, the OS posted a notification when a call was blocked by CallKit, this is no longer happening with iOS 18.2 or 18.3
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Dec ’24
Reply to Show device's provisioning profiles
Still present with 16.2
Replies
Boosts
Views
Activity
Dec ’24
Reply to Message Filter Extension won't use Basic Auth
@JR42abc Did you ever solve this?
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’24
Reply to How to implement server-side authentication for text filtering requests??
@Kevin Elliott A few of app extensions cannot make networks calls themselves, instead the OS makes the network call on behalf of the extension (such as the Message Filter Extension or Unwanted Communication extension). As its not the extension itself making the network call in these situations, then does that affect the situation?
Replies
Boosts
Views
Activity
Dec ’24
Reply to How to implement server-side authentication for text filtering requests??
Yes. Is there a way for the server to know the traffic has come from Apple and not a spoofer of Apple? I saw somebody post a question in the past about using Shared Web Credentials to perform basic auth, is that possible?
Replies
Boosts
Views
Activity
Dec ’24
Reply to How to share info beetween two app with different bundle or company
Search for iOS and app deep linking and url scheme.
Replies
Boosts
Views
Activity
Nov ’24
Reply to How to share info beetween two app with different bundle or company
Presumably the two apps/companies know something about each other - otherwise what could be the possible point in trying to share a piece of data. So could app A enable deep linking via a url and then app B invokes that url with the token appended.
Replies
Boosts
Views
Activity
Nov ’24
Reply to Trigger push notification based on API call response
You can't do this on iOS - you can't trigger your app to run at a specific time or periodically. Your alternatives are to write a server, and you server co-ordinate things and send a push to the app. Alternatively, live activities might be a good fit for what you want to do.
Replies
Boosts
Views
Activity
Oct ’24
Reply to Blocked Calls List
No it isn't
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Oct ’24
Reply to Callkit blocking behaviour is overridden in iOS 18
@Kevin Elliot "Why? All other issues aside, I'd expect this to be a fairly rare edge case. Is there a reason why this is particular issue for your users/use case?" As echu says "It's a problem because people add known spammers to their contacts" Exactly. I'm a developer, but also an iPhone user and as a user I do this myself.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Oct ’24
Reply to What happened to logging in a Message Filter Extension on iOS 18?
I discovered that logging doesn't appear at the point when the extension is enabled and the extension is specifying a set of sub actions. If no sub actions are specified then logging reappears. Its exactly the same as reported in this ticket here, so probably connected to this ticket: https://developer.apple.com/forums/thread/764561
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Oct ’24