Posts

Post not yet marked as solved
2 Replies
1.2k Views
I recently uploaded a TestFlight external test build to iTunes Connect. When users download the application the Share Extension doesn't seem to be appearing in Safari or any other application that has the share menu. Even after clicking the more button the application extension doesn't appear at all.Any reason why this might be happening? And any ideas on how to fix it?
Posted Last updated
.
Post not yet marked as solved
5 Replies
1.2k Views
In ( https://developer.apple.com/videos/play/wwdc2020/10028/ ) it says "Widgets are not mini-apps" and "Rather than mini-apps filled with many little buttons". It also talks a lot about widgets being "glanceable". However, the Shortcuts Widget doesn't conform to this same advice. It has a lot of buttons you can tap to execute a shortcut. As a user I find the Shortcuts Widget extremely helpful. But I'm curious from a developer perspective why Apple seems to be setting a double standard in terms of the advice they give vs their own software. For some more concrete questions: How does the Shortcuts Widget (which is basically a bunch of buttons to execute shortcuts) conform to the advice given in that session about being "glanceable"? If it doesn't conform to that advice, why does it not? Is there something else developers should consider or think about here? Is the ability to have actionable buttons (like in the Shortcuts Widget) limited to Apple use only and hidden inside of a Private Framework? Or are 3rd party developers allowed to create experiences with buttons in their widget that can execute a given task?
Posted Last updated
.
Post not yet marked as solved
0 Replies
2.2k Views
According to [Apple's documentation](https://developer.apple.com/documentation/adsupport/asidentifiermanager/1614148-isadvertisingtrackingenabled):> Check the value of this property before performing any advertising tracking. If the value is `false`, use the advertising identifier only for the following purposes: frequency capping, attribution, conversion events, estimating the number of unique users, advertising fraud detection, and debugging.So based on that, the code below should work safely and be following Apple's documentation:```var advertisingID: String? { if ASIdentifierManager.shared().isAdvertisingTrackingEnabled == true { return nil } else { return ASIdentifierManager.shared().advertisingIdentifier.uuidString }}```Basically checking to see if it's false, then, if so using it. Of course that code could be simplified, but I'm trying to be as verbose as possible for this question.That code seems correct to me according to Apple's documentation.That being said, it doesn't fit the name of the property really, nor does it fit open source projects on GitHub.Below are a few open source projects with links that do it a different way.[DeviceInfo](https://github.com/marumemomo/DeviceInfo/blob/bddcfb42849189a8fc7d452ea9798a9b5be1bd60/DeviceInfo/DeviceInfo.swift#L59):```return ASIdentifierManager.shared().isAdvertisingTrackingEnabled ? ASIdentifierManager.shared().advertisingIdentifier.uuidString : ""```[drifter](https://github.com/wenerme/drifter/blob/aea35f9131071971c923e8b418c96c9d668db8f6/ios/Classes/SwiftDrifterPlugin.swift#L35-L40):```// Check whether advertising tracking is enabledguard ASIdentifierManager.shared().isAdvertisingTrackingEnabled else { return nil}// Get and return IDFAreturn ASIdentifierManager.shared().advertisingIdentifier.uuidString```As you can see, instead of returning that value if it's `false` these solutions return the `advertisingIdentifier` if `isAdvertisingTrackingEnabled` is `true`. Which is not what Apple's documentation states. But it does make sense given the property name.---So my question is, which is correct? Is Apple's documentation wrong? Or are these open source projects doing it incorrectly? Or am I just missing something obvious and both those open source projects and Apple's documentation are both correct?
Posted Last updated
.