Skip to content

Conversation

clindsay3
Copy link
Collaborator

Motivation

Adds validation screenshot generation for our newly supported Mac platforms, so we can have a clear path towards parity with other platforms, and then avoid regressions in the future.

I'm not sure if having two separate "iPhone App running on Mac" and "iPad App running on Mac" variations is truly necessary, but it felt like it couldn't hurt to include them separately. If it becomes burdensome in the future and we find that in practice there are no actual differences between the two, we could remove one of them in the future.

Description

Updates our paywall validation screenshot generation so that it executes in 4 new contexts:

  1. iPhone App running on Mac
  2. iPad App running on Mac
  3. Mac Catalyst with "Optimize for Mac" mode enabled
  4. Mac Catalyst with "Scaled to Match iPad" mode enabled

clindsay3 and others added 30 commits June 18, 2025 14:48
Just testing how Emerge will handle Mac variants.
…scheme, and add a host application to run them.

This is in preparation for having these run on Mac Catalyst and Mac Native platforms, which will require a host application.
* Add the RevenueCatUITestsDev as the default build target for the RevenueCatUITestsDev scheme.
* Update the Fastfile to use scan, and point at the proper workspace.
Just add the new condition as an "or" in record-and-push-paywall-template-screenshots.
@clindsay3 clindsay3 marked this pull request as ready for review July 10, 2025 02:26
@clindsay3
Copy link
Collaborator Author

Failing iOS 17 tests seem unrelated to this change.

@clindsay3 clindsay3 enabled auto-merge (squash) July 10, 2025 02:29
@clindsay3 clindsay3 requested review from joshdholtz and a team July 10, 2025 02:29
Copy link
Member

@joshdholtz joshdholtz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yeah, I got some commits in this PR 😅

Yeah yeah, this still looks good to me! LGTM 💪

Copy link
Member

@ajpallares ajpallares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it looks good overall! I have a couple of questions though

Comment on lines +184 to +185
# "iphone-app-on-mac",
# "ipad-app-on-mac",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these supposed to be commented out? I ask because the PR title says that it also adds iPad/iPhone app on Mac validation

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They work locally, but we have not been able to figure out how to get them to run on CI yet because of codesigning issues(@joshdholtz spent a bunch of time on this and wasn't able to get it working). I still think it's useful to include the logic in the commit, because I can run them locally to verify those platforms. But they are commented out so that the CI build doesn't fail on them.

Comment on lines +364 to +367
targeted_device_families = {
"mac-catalyst-optimized-for-mac" => "1,2,3,4,6",
"mac-catalyst-scaled-to-match-ipad" => "1,2,3,4"
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm seeing here that 3 is for Apple TV and 4 is for Apple watch. Why are these included in the targeted device families?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I included those platforms because they were included in the target before this change, and so I was trying not to mess with anything that was already in there.

Ideally the logic here would be to just add/remove that 6 from the list of targets that was included in the build settings already. But it seemed like a much bigger change to read the build settings here and modify them, than to just pass in a hard-coded override. So I felt like it was a better approach to simply include the full list as it was before this change.

@clindsay3 clindsay3 merged commit efb018e into main Jul 31, 2025
12 checks passed
@clindsay3 clindsay3 deleted the mac-paywalls/send-validation-screenshots-to-emerge branch July 31, 2025 14:02
@clindsay3
Copy link
Collaborator Author

@ajpallares whoops I had set it to auto-merge when all the checks passed, so when I approved the Emerge screenshot diff it merged! But feel free to leave any requests for changes and I'll open a follow-up PR!

@ajpallares
Copy link
Member

@clindsay3 No problem! I was going to approve anyway after reading the comments. So it's all good! Thanks for the explanations!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants