Troubleshooting Newsstand ATOM feed - ios

I'm currently working on a magazine app compatible with iOS Newsstand feature. I've set everything up and the only thing left is the ATOM feed which should automatically update current issue on the App Store.
But here's the problem. I've linked iTunes Connect to the feed and nothing happens. The form undergoes the initial validation (so the schema appears validated). However, once the feed information is saved, I don't see any progress (I'm doing this for the first time but I suppose that even in "prepare for upload" state I should see some issues popping up).
I know Apple retrieves the feed on a daily basis, a rather slower interval to test hypotheses. But it's in there for few days now and I don't have any idea what went wrong.
Here's the URL of my feed: http://easymagazine.cz/api/1/atomfeed/issues
Feel free to examine the feed and point out any deviations from the Apple specification which can be found here: https://itunesconnect.apple.com/docs/NewsstandAtomFeedSpecification.pdf.
Thanks in advance.
PM

Related

UICloudSharingController does not work for Core Data with CloudKit

(This is now confirmed as a regression in iOS16. A TSI has been opened.)
In the summer, Apple published an informative sample app on sharing objects between iCloud users using Core Data, CloudKit and UICloudSharingController in SwiftUI.
However, adding more participants using UICloudSharingController does not appear to work when used for Core Data with CloudKit.
MRE:
See the Apple sample app linked above.
The same problem also appears when using other sample apps, like the one from RayW.
The problem does not appear in samples that use pure CloudKit, such as this one by Apple.
Reproduction:
Create new share,
Manage share with UICloudSharingController,
Share With More People,
Share using Messages or other service. Succeeds on first attempt, fails on subsequent attempts.
Expectation:
We can use UICloudSharingController to add new participants, using Messages, Mail or other platforms. The link will display correctly on all devices.
Reality:
On iOS16+, attempting to share via Messages engages the "Collaboration" framework and leads to an alert: "An Error Occurred. Unable to start collaboration" (see Image 1). A console warning appears (see below). Triggering this error breaks ANY further shares - the link now cannot be created for Mail and other platforms either (see Image 2). Furthermore, if the first attempt succeeds, the link does not appear correctly on the receiving device (see Image 3).
After further testing, UICloudSharingController also fails in iOS15 - it just dismisses the sheet rather than throw an alert on a compact device. UICloudSharingController is definitely bugged when showing an existing share.
Console logs:
The following console message appears when this issue happens for the first time:
CoreDataCloudKitShare[3672:1242159] systemSharingUIDidSaveShareBlock received error: <CKError 0x28314d8c0: "Server Record Changed"
(14/2004); server message = "client oplock error updating record"; op
= 134D57570A63DF3A; uuid = 8F070F8B-0AC0-4FFE-A52D-154BCBF3196C; container ID = “containerID>
Where "containerID" is the CKContainer ID, like “iCloud.com.company.samples.CoreDataCloudKitShare”. The message does not appear on subsequent attempts to add more people.
Question:
How can this be resolved, so that we can share Core Data records between users using CloudKit and UICloudSharingController?
Images
EDITs:
Other samples of sharing using Core Data and CloudKit exhibit the same problem. Also, console shows a warning when the issue first happens. Post was edited to reflect this.
Question was also posed in Apple Dev Forums
Feedback submitted at FB11623246.
Added conclusions after further testing
24 October 2022: I thought the issue was resolved in iOS16.0.3, but it continues to manifest. It does not matter whether UICloudSharingController is invoked using UIViewController or UIViewControllerRepresentable.
10 November 2022: The issue appears in both Development and Production environments (tested via TestFlight)
15 November 2022: In Ask Apple office hours, this was brought up to the attention of an Apple engineer, who confirmed this as a regression.
25 November 2022: A DTS has been opened. This is now confirmed as a known bug with high priority.
26 December 2022: The bug remains in iOS16.2. An attempt was made to use SWCollaborationView as an alternative to managing collaboration in iOS16. The sharing workflow indeed goes through even on subsequent shares. However, SWCollaborationView does not appear to be compatible with SwiftUI (ugh). See associated SO question
17 January 2023: SWCollaborationView is confirmed as NOT compatible with SwiftUI. FB submitted at FB11941664, please submit FB as well.
25 January 2023: Unfortunately, the issue persists in iOS 16.3.
15 February 2023: Unfortunately, the issue persists in iOS 16.3.1.
Being dealing with both UISharingController and SWCollaborationView for a few month now, I came across this bug (and many others) multiple times wether on my own code or from the Apple samples available.
Calling persistUpdatedShare(_:in:completion:) seems to both save an updated version to the Cloud AND update the locally cached metadata of the share, which is why, after performing persistUpdatedShare, If you keep acting on the initially fetched share, you will get this oplock error, you need to update your code to refetch the lastest CKShare in the persistUpdatedShare completion block.
I couldn't find any easy and clean solution with the current APIs, on top of it SWCollaborationView isn't calling properly its delegates, when it does call them (delegate, cloudSharingDelegate, cloudSharingControllerDelegate) which make it even more difficult.
I am now using SWColaborationView but with major bugs in Catalyst.
I ended up persisting the share using CKSystemSharingUIObserver blocks.
https://developer.apple.com/documentation/cloudkit/cksystemsharinguiobserver
In the systemSharingUIDidSaveShareBlock I persist my share using persistUpdatedShare(_:in:completion:), and, in its completion block I dismiss the presented collaborationView, refetch the share and rebuild the SWCollaborationView and its itemProvider.
Hope this helps
I filed a radar today. You can reference to it as well. The more radars we file, the higher the probability this will get fixed.
FB11990920

Facebook Analytics SDK for iOS app: how to disable value tracking for non-valuable events like App Install or Start Trial?

I'm running Facebook Ads campaigns for my iOS app and quite naturally I have Facebook Analytics SDK integrated inside my app to track App Installs and Start Trial events to measure the "quality" of the traffic my campaigns bring.
At the Analytics settings page inside Facebook developer dashboard.
https://developers.facebook.com/apps/XXX_APP_ID_XXX/analytics/settings/?business_id=XXX_BUSINESS_ID_XXX
I have the option Log In-App Events Automatically (Recommended) set to "Yes", which I presume enables the tracking of App Install and Start Trial events. There's also a Shared App Secret field filled in with the value from iTunesConnect.
Indeed, the App Install and Start Trial events have started to appear inside Analytics dashboard
https://www.facebook.com/analytics/XXX_APP_ID_XXX/AppEvents?__aref_src=landing_page&__aref_id=entity_name&force_desktop=1&user_id=XXX_USER_ID_XXX
However I noticed when viewing the stats for just App Installs there's a quite considerable value in USD attributed to these events. I decided to take a closer look into these events using Event Debugging
https://www.facebook.com/analytics/XXX_APP_ID_XXX/most_recent?since=1577923200000&until=1580256000000&__aref_src=landing_page&__aref_id=entity_name&force_desktop=1&user_id=XXX_USER_ID_XXX
and selecting "App Install" in the events filter.
There I saw that some (only some and as if randomly) App Installs have a value associated with them. To me this is an unexpected behavior since I can't imagine revenue being made by just receiving an install.
Same goes for Start Trial event, which always has the value associated to it (equal to the sale price of a subscription period) and once again this makes no sense to me because started trials themselves bring no value to me. They may be canceled or may end up in Billing Retry when the user has no money on the bank card attached to their iTunes account, etc. I track the conversions from Start Trial to Purchase on my backend separately with great precision and only these conversions as well as subsequent renewals would bring real value to my business.
I can and will track these Purchases manually and post them to Facebook (server-to-server style) and I will supply the corresponding value to these events myself, which will help to understand the overall performance and ROI but I need to clean my stats from these "false" automatically and erroneously attributed values to App Install and Start Trial events first.
I've already reported this issue to Facebook few days ago, however they seem to be slow in handling such requests so I've decided to ask here if anybody ran into similar issue.
Add this to your plist file to disable Auto Event Logging
<key>FacebookAutoLogAppEventsEnabled</key>
<false/>
Thanks to Lena Bru for giving enough food to find a solution.
The Facebook documentation is scarce on the raised questions and the support answer literally headed me towards the documentation. To recap things, there were 2 main issues (the second one I've mentioned in the comments to Lena's reply):
Facebook was tracking value for the events, which brought no value to my business
Some of the events I've sent from backend didn't appear in the campaign reports
To solve both of these problems, I:
Turned off the value tracking option in the Facebook app settings
On the client side I've started setting up User ID (which the client receives from backend) according to Facebook documentation
I've started to send all of the events, which I wanted to view inside Facebook business cabinet, under custom names from backend. I've supplemented them with app_user_id parameter (see Advanced Matching for App Events in Facebook documentation) so that they could match the App Installs reported from client.
There's still a smaller issue left (it feels like Facebook reports include 20% less installs than actually happening) but the current setup is already something to begin with.

Users can't find our app in the apple appstore

We recently published an app to the german Apple AppStore. Some of our users are reporting a strange behaviour when they search for our app (Couponiac). The search shows no result. But when they use our developer acc name (Couponiac UG) the app shows up.
While facing such issue there can be few possible reasons. Here it is:
First thing is after application approved & ready for sale it can take some time to come into search results
Second thing is if the application name or a part of you application name already taken by some of the apps who already on the app store from long time than it might not show you in results or it can show very far down the page
Make sure if they try to use full name of your application & search & see if shows or not. If it shows while searching with full name & not with the partial name of the app than you should wait for some amount of downloads of the app. Once your application downloads will be increased it will automatically up & will start showing on initial results
I hope it will guide you.

Why I Can't find my Application in the App Store Search

I just got an Email this morning saying my Application (Fuel+) is Ready for Sale. So I "Rushed" to my iPhone and typed Fuel+ in the App Store Search to not find my Application not there. Why is my App in iTunes Connect Preview but not in the App Store Search Menu. (This is my first App in the App Store.)
It takes a while (less than a day) for the App Store to index your application in the search engine.
Also, app listings on the app store are ranked based on popularity (number of downloads, number of ratings, etc.)
Seeing that you are using a very common term "fuel" in your app name, and that yours is a new application, your app could possibly be appearing at the end of the list, and there are 900 applications in that list in total.
It would be a good idea to use a name that isn't a common dictionary term to improve the visiblity of your application. Otherwise, you would always lose out in search results to over 100 applications that have been in the market for a while and has acquired a high number of downloads.
I believe, it takes time to update Apple's servers' caches. Stay calm :) It will appear in about 24 hours (in my case it took 8 hours or so).
App ready for sale, I can view it, but no one else can
http://www.buzztouch.com/forum/thread.php?tid=42367CD77D30FB8D552702B&currentPage=395
UPDATE
My app is searchable aka findable in the app store now, I am sorry but I am not sure of the amount of time it took, it seemed to take a month for my app to become findable via search in the Apple App store.
It has been two weeks and I have had two versions "published" to the app store and still my app, by its very specific and unique name is not returned in search results using iTunes on my Macbook Pro. People have even installed my app through the direct link I provided them in an email and yet it is not found in search results:
I share this as an answer because it is informative. I will follow up with my resolutions. I am guessing, at this point, the only thing I can do is contact Apple Customer Support.
There could be many reasons for not showing up into the search results. Here are few explained :
May be the ASO changes you have done are not reflected yet so it will not appear in to search. In that case you should wait for 24-48 hours to let things go & settle
Another major & important reason is if App name you are using is very common or already is too much use in other similar apps which already are in the market before your release than also it will put your app far back into the search results that even don't show in limited search results
ASO factor will also effect your app to not appear into the search results. May be you should use more strong keywords which can help your app to compete with other similar apps. You can try & use ASO tools for that.
Last but not the least some times apple has some inner maintenance works which they do silently also affects sometimes to the search results
So from above points the solution is :
Wait for the few hours at least 48 hours to let crawl your ASO keywords & lets get effect in to search result improvements
If it not works since 48 hours you should appeal to apple review team for the same.
Hope it will work to everyone.

How to tell whether my Newsstand Atom Feed will be processed or not?

EDIT:2013-06-11: I mean that Is it a way to confirm Newsstand Atom feeds are without corrupting now woking hand filling Newsstand items. When I posted this question, I want to test the atom feed for an already released app, but I was afraid that current Newsstand Item (added by hand) displayed on App Store could be deleted. So I tried to test the same atom feed on another dummy app on iTunes Connect, but I was not sure it is OK because Newsstand items in the atom feed are not shown in iTunes Connect...
I set an URL to an Atom feed and wait 24h (3 days now), but issues from Atom feed doesn't seem to appear in "Manage Newsstand" in iTunes Connect.
I have tested this for an unreleased app. So I don't know those issues from an Atom feed will apear in App Store.
Is it correct behavior? Do anybody use an atom feed for updating issues?
FYI, I quoted notes on "Atom feed" settings:
Feed information is processed once a day. After adding or updating
your feed you may need to wait 24 hours before the change will be
visible in iTunes Connect and/or on the App Store. For more
information, refer to the Newsstand Atom Feed Specification.
P.S. I'm sorry about cross posting this question with https://devforums.apple.com/thread/147608, but the topic on the forum seems to be desolated...
update: The feed is validated at the time I enter the URL (I corrected some errors).
Make sure you have followed all the requirements specified in https://itunesconnect.apple.com/docs/NewsstandAtomFeedSpecification.pdf
Especially, the xml tags have to be organised as specified. One of the reasons for the cover art icon not being updated will be incorrect dimensions of the image. This icon must be at least 1024px on the long side.

Resources