I came across an AI tool that allows you to draw like in a drawing program, generating HTML, CSS, and JS code, which motivated me to explore more AI tools.
The reason for rejection was βThe AppTrackingTransparency framework is not displaying the app tracking permission request popup.β
ATT was introduced in iOS 14.5 and helps access the userβs IDFA (Identifier for Advertisers) and track users/devices, but it requires user consent for app tracking permissions.
I speculated on why the permission request popup did not appear:
ATTrackingManager.requestTrackingAuthorization(completionHandler:)
should be replaced with ATTrackingManager.requestTrackingAuthorization() async -> ATTrackingManager.AuthorizationStatus
.applicationDidBecomeActive
before the app is fully loaded (as recommended by Apple) or introduce a delay for handling popups.By addressing these issues, I successfully passed the app review.
I stumbled upon an article discussing the high cost of initializing DateFormatter instances.
It mentioned that while the creation time of the DateFormatter instance itself is short, the computation that occurs during creation can exponentially increase the time required.
Therefore, I changed the code handling Dates to create a global DateFormatter instance, reducing the costs associated with its creation.
Refer to the article for analysis: DateFormatter Analysis.
I decided to create a carousel-style banner for a side project, highlighting the center item with a scale effect as items move.
I referred to the AdvancedCompositionalLayout repository, which is a good resource for future reference, and adapted it to my coding style.
I switched from Combine to RxSwift and used SnapKit and Then for UI composition.
orthogonalScrollingBehavior
set to groupPagingCentered
.visibleItemsInvalidationHandler
with round(offset.x / self.view.bounds.width)
.visibleItemsInvalidationHandler
by adjusting the scale of the center and non-center items using the CGAffineTransform(scaleX:y:)
method.