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?
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 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 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