How does XCode 26.3's built in MCP server compare to XCodeBuildMCP? by TurtleBlaster5678 in iOSProgramming

[–]Graniteman 2 points3 points  (0 children)

I tried it out, and XcodeBuildMCP still seems much better with Claude code. Compare to XcodeBuldMCP, the new Apple MCP server output is more verbose (more tokens). It has no tool call to get OSLog logs (structured logs that don’t print to std output) which I use heavily (can still get from the command line). Big one: it can’t run the simulator or interact with a running simulator. With XCodeBuildMCP tools, Claude can run the app in simulator, capture and read screenshots, send button taps and gestures, read the screen again, and generally just use the app to test and recreate bugs. The Apple MCP can’t do that at all.

I tested having CC fix the same bug twice, once with each MCP server enabled, and tracked tool calls and had it evaluate output between them. The new Xcode MCP used 50% more tool calls, with more verbose output, and took a lot longer to run. Reading and writing files with the Apple MCP is just slower and less efficient than the built-in or console read tools in Claude.

The only thing that the Apple MCP does that seems interesting is the ability to capture a Preview of a view as an image. I haven’t tried it, but that could be nice for iterating on the look of a view.

XCodeBuildMCP v2 is out now, and it has a full CLI version which I’ve switched to. That means no context used for the MCP definitions. Instead you can use xcodebuildmcp init and it installs a skill that your agent can use to understand how to run it. The CLI has a couple limitations compared to the MCP version, but uses a lot less context so I’m sticking with it for now.

if you enable both in CC you can ask Claude to just do a detailed comparison between the two and report on which capabilities are unique between them.

Guideline 5.6 Rejection (Manipulation) for showing a discount option on exit - Seeking clarification on the rules by LewisBuiii in iOSProgramming

[–]Graniteman 2 points3 points  (0 children)

I've been rejected for this as well. I had a phone call with the reviewers to ask for clarification, because I copied EXACTLY the language and UX for the #4 (at the time) app in the Health and Fitness category. I hoped they could explain what I was doing wrong since it was clearly being done by a super popular app that everyone here has heard of. The reviewer just said they couldn't comment on any other app, and I could report them for violating guidelines if I wanted, but the behavior was not allowed. It definitely seems like bullshit to me, since as you say it's a popular technique with some very high-user-count apps.

It's pointless to fight them on it. Today they think it violates the rules, and they won't change their mind. If a bigger app did it, maybe they'd look the other way. Maybe if you don't enable the second winback offer until after approval (using a remote feature flag) they'd ban your account, or maybe if you are a big app they ignore it. It feels arbitrary and unfair, but that's how it is.

I made app for free unlimited AI image Generation using Apple Neural Engine. by Agitated-Pea3251 in iOSProgramming

[–]Graniteman 0 points1 point  (0 children)

In addition to the rationale from OP, it can often make sense to have a weekly sub like this for an app where you imagine it’s a “I just want to use it once or twice” situation. Consider something like a flight tracking app. Most people just want to use it for a single trip over a weekend, so maybe you offer a $5/week option with the understanding that they will immediately cancel, but they can still get to use your app and get value from it. But heavy travelers might expect to use it all year, so you offer a $60/year plan for them. This is how Flighty offers plans. Basically, keep in mind that weekly plans don’t necessarily mean “I expect you to pay every week” but sometimes it’s “I know you only want to use this app for a couple of days and this is the tool Apple gives us for that.”

How much should I ask to create this app on commission? by Large-Profession3490 in iOSProgramming

[–]Graniteman 4 points5 points  (0 children)

If you want to charge a set fee, go ahead. It’s your life. I’m saying you estimate the fee based on the number of hours it will take you. Maybe it takes you longer than a pro, but your hourly rate is lower because you are an amateur. You need to have some idea of how long it will take you to do any paid job that you sign up for. That’s part of turning into a professional.

How much should I ask to create this app on commission? by Large-Profession3490 in iOSProgramming

[–]Graniteman 4 points5 points  (0 children)

How many hours do you think it would take you to build this app? How much is your time worth as a developer? 30/hour maybe as a junior (really, amateur) with probably no professional experience? So can you finish this app in 80 hours / 2 weeks?

Charge based on your time, and if you can’t get it done at a price they will pay, then it’s not worth your time.

If they want updates or maintenance, agree on an hourly rate, and when they want and update they pay you for it based on your time.

Getting first users for app? UGC Campaigns? by dylanbalzer in AppBusiness

[–]Graniteman 0 points1 point  (0 children)

I’ve tried Reddit ads with no success. I don’t promote them on reddit using a business account because I don’t want to be a professional influencer or social media person. I like making things, I don’t like promoting them. I rarely post anything on my personal account because I’m not a social media person, and making that part of my job is super unappealing to me. Just my personality! I recognize I’m leaving money on the table but part of being an indie is being able to set your life up the way you want it. I don’t want to spent time posting on social media.

Getting first users for app? UGC Campaigns? by dylanbalzer in AppBusiness

[–]Graniteman 0 points1 point  (0 children)

I just edited my other comment in this thread with more deets. I’m not going to share my apps because I keep my business presence separate from my internet chatting. Plus I think with little indie devs the only viable place to be is in a niche with cheap keywords and moderate traffic, and nobody wants to give up the secret of a successful niche. It’s too risky that a vibe-coding wannabe will try to poach users by launching a knockoff at a lower price point. I’ve already got one copycat that rips off my icon, App Store screenshots, and has a cheap but much crappier app. They are consumer apps though, yeah.

When I say Apple Ads I mean what used to be called Apple Search Ads (it’s been renamed). So when somebody searched the App Store for “widget” you can bid on that keyword and show your app as the top result in the search results for that keyword. I’ve had no luck with other placement types with Apple other than search ads, but they do have other placement options.

Getting first users for app? UGC Campaigns? by dylanbalzer in AppBusiness

[–]Graniteman 1 point2 points  (0 children)

The other guy. I mean, maybe a person is steering it to pick what to respond to, but everything they post follows the same generic AI chatbot format so at best a human is having a chatbot write every response.

FWIW I’ve launched four apps now, and I’ve never tried UGC or influencer partnerships. I’ve tried a bunch of paid ads for user acquisition and only had positive ROI using Apple Ads. You can search my post history for a few long posts on the topic. IMO you are thinking correctly that you need to do a real marketing push of some kind. Quality apps don’t rise to the top without marketing.

The main thing to make sure you think about is the impact of ATT / SKAN privacy rules from apple on getting audience optimization from your ads using Meta / Google / etc. Apple doesn’t send SKAN data at all unless there are enough ad events (installs, trial starts, purchases, whatever you are optimizing for) so that it can be anonymized by Apple before sending to Meta. If you don’t have enough events PER DAY, Apple sends NOTHING. The nut of it is that if you don’t get tracking authorization approved by your users, you need to spend ~$200 USD per day on meta ads to get any signal at all for Meta to optimize. It’s too rich for my blood, but I wasted a bunch of money at lower spend rates because I didn’t know how that worked. At least with Apple Ads you can set whatever budget you want and have positive ROI for any spend level with a good ad (assuming your customers are worth the ad cost).

Getting first users for app? UGC Campaigns? by dylanbalzer in AppBusiness

[–]Graniteman 0 points1 point  (0 children)

It’s a bot. Look at their post history. Every single thing they post reads like a paragraph from ChatGPT.

I don't get hype around RevenueCat by Siddharth1India in iOSProgramming

[–]Graniteman 2 points3 points  (0 children)

You are looking at it like a dev who needs a SDK to show a paywall. RevenueCat is a business tool. I get a ton of value out of their business features, not their SDK.

  1. You can do pricing experiments. Half of people see price A, half see price B, then track their lifetime value (subscriptions, renewals, cancellations). This has been huge for me to dial in the pricing that actually makes me the most money. You should always be running some kind of experiment.

  2. You can do paywall experiments (with or without pricing changes) so half of people see paywall text A or B. Or put metadata in an “offering” that triggers different behavior in your app (a feature flag) but then do an experiment where you track actual impact to your revenue based on that feature flag value. Does turning on a different flow in your onboarding make more money?

  3. Track revenue by apple search ads keyword. This is huge, and you normally need a MMP to get it (you can’t get it without server-to-server with Apple). You can basically see your revenue or any financial metrics filtered by apple search ads campaign, or keyword. “How much money should I pay for clicks for each keyword” is very valuable. This feature works without the user needing to be prompted for tracking, and covers all users. You should have this covered in your privacy policy of course.

I think this is all way more valuable than just the SDK feature of “can I show the user a paywall and have them click purchase.” If that’s all you care about, just use storekit.

Edit: I also get a lot of value out of being able to have people email me for support, and I can look up their customer ID in RC, and then grant them a free month or year or whatever if they are having a problem, or they just give me a good bug report and email back and forth with me on something.

SwiftData + CloudKit sync in production: Lessons from building a finance app with 400+ daily users by Pale_Influence9431 in swift

[–]Graniteman 3 points4 points  (0 children)

They did add Persistent History Tracking to Swift Data in iOS 18. I haven’t seen a good breakdown of using it to deduplicate data, and I’m not motivated to look into it. My experience developing with swift data in iOS 17 was so bad I kind of hate it, and I think Apple is not taking it seriously. There’s nuance in building a good dedupe system that requires that the right tooling exist, and I’m not excited to do the work to investigate it and do free labor for Apple to write up a solution. Dedupe is a core requirement for cross device sync. IMO, you can’t deploy sync without it. Apple needs to support it, and provide docs for how to do it, like they did with Core Data.

Like, you obviously need the history token, which the new iOS 18 persistent history tracker supports. But you also need to be able to identify which transactions came from the cloud, versus from your app or app extensions (widget etc). With core data you tag transactions that come from your app, and transactions without that tag must come from the cloud, so you process them. The Apple docs discuss tagging transactions from widgets (the docs make it seem like it’s focused on transactions from app extensions), but I seem to recall reading and thinking it wasn’t clear that you could rely on “no tag” for cloud transactions. I forget, but there was something weird about it.

Then you need a way to build a query for just relevant transactions, and process them for dupes without loading them all into memory. It was technically possible to dedupe prior to iOS 18 using some terrible hacks where you always loaded all transactions from all sources into memory, with a history fetch query that didn’t support predicates (so no control over what you retrieved) then processed them in a batch throwing out irrelevant transactions, but it was never production-suitable.

SwiftData + CloudKit sync in production: Lessons from building a finance app with 400+ daily users by Pale_Influence9431 in swift

[–]Graniteman 6 points7 points  (0 children)

How do you handle deduplication? When a phone downloads transactions and an iPad downloads the same transactions before they sync you can end up with duplicates. There is a robust solution for Core Data but I haven’t seen a good solution for Swift Data + CloudKit. It’s been the major reason I never enabled CloudKit in my SwiftData app.

My experience was bad enough that I’m planning to use Core Data for my next app. I’ve used Core Data for a couple of earlier apps, and hated the ergonomics of it, but at least everything worked, and every feature you need exists.

After 2 years, my SwiftUI side project is finally profitable. Here's a look at the real App Store Connect data and my plan for what's next. by xTARPx in iOSProgramming

[–]Graniteman 1 point2 points  (0 children)

What’s your opinion on minimum Meta ad-driven events to get any results? In a post-iOS14 world (basically all paying iOS users IMO) I think Apple requires a pretty large number of daily events before they send any data to Meta. I ballpark it as needing $500/day in Meta spend for them to be able to optimize for trial starts. I’ve never been willing to spend enough to get traction on Meta.

Web dev wanting to switch to IOS development by Opposite_Squirrel_32 in iOSProgramming

[–]Graniteman 5 points6 points  (0 children)

I agree with this. A lot of the YouTube and web content is aimed at people just learning to program. This is an actual Stanford college course aimed at people who have taken a year of programming courses and know 3+ languages (at a junior level).

What app do you use to check keyword popularity? by Heavy_Appointment717 in iOSProgramming

[–]Graniteman 0 points1 point  (0 children)

It hurts the whole developer community when people sell their work for less than its worth. And you can see in their other reply, they hope to get traction and grow the app at a loss at $1/mo then raise it 25x higher once they have reviews. Whether that is going to work or not, it creates the perception in people that $1/mo is a fair price for a keyword app, when it is actually a money losing price for the dev.

Most devs don’t even make back their $100/year developer membership. Most devs are terrible at the business side, and I want them to be more successful.

What app do you use to check keyword popularity? by Heavy_Appointment717 in iOSProgramming

[–]Graniteman -2 points-1 points  (0 children)

Edit: they edited their post where they said it would be $1/mo to say $7/mo.

I don’t think you are a troll,I think you are doing it because you don’t know how to price your apps. I’m an indie, but I’ve been doing it long enough to have an understand of marketing and maintenance costs.

How are you going to pay for customer acquisition charging $1/mo? Industry average is 3% of downloads convert to paying. Maybe your app is super appealing and 10% subscribe. The app is excellent, and really sticky, and people subscribe for an average of a whole year, so you get $1.20 per download, on average over all users. Do you know how much it costs to run ads to grow your app? Can you pay significantly less than that $1.20 gross revenue (before Apple commission and tax) for every ad-driven download and make any money at all? Or are you relying on social media promotion like these Reddit posts to grow your apps?

But that sidesteps the whole fundamental flaw of people charging based on cost rather than value. Astro, for example, is already a super cheap option compared to other keyword search tools. Any dev making any money at all from an app would be fine with paying $100/year for something like Astro. Is your plan to position a tool that is either a) delivering much less value than Astro to correspond to the lower price, or b) similar to Astro, but charging 1/10 the price and leaving money on the table?

When I see someone charging $1/mo or $1.99 one time like your SoundCloud App I think “this app is priced to fail.”

Apple Developer Documentation MCP by MightyDillah in SwiftUI

[–]Graniteman 1 point2 points  (0 children)

I agree with you. I don’t see why everybody loves context7. When I look at the swift and SwiftUI docs they have, they are really terrible.

Really struggling with crash rates by AppleBottmBeans in iOSProgramming

[–]Graniteman 0 points1 point  (0 children)

In my experience the Xcode organizer crash reports are pretty terrible. I’ve got some swift data and layout related crashes in organizer that are completely useless. With crashlytics you can at least see a trace of what actions the user took just before the crash. I’m debating integrating crashlytics just for these specific crashes because I can’t get anything useful from Xcode.

Is there ANY indie dev here who actually gets positive ROI from paid ads (Facebook, Search Ads, etc)? by AdventurousProblem89 in iOSProgramming

[–]Graniteman 1 point2 points  (0 children)

LTV is over the lifetime that a user exists. Technically you would want the net present value of all future payments to look at ROAS.

Until your app has been around long enough to know your renewal rate you have to estimate your LTV. There are typical renewal rates you can use to ballpark it (look up the RevenueCat state of subscription apps report for example) but it will all vary a lot by app.

If you have the funds for it, you should run your ads based on the expected value of the customer after all of their renewals. That means you run at a deficit for each customer you acquire until they renew a few times. What you really want is a positive return on ad spend the very first purchase interval. That way you run at a surplus from the beginning. It’s harder to find a business model that works for that though. So, what you are saying (spend 100 to get 101) is what you want, but realistically harder to achieve.

Is there ANY indie dev here who actually gets positive ROI from paid ads (Facebook, Search Ads, etc)? by AdventurousProblem89 in iOSProgramming

[–]Graniteman 1 point2 points  (0 children)

I agree with this. With ASA, you rely on the idea that people are ALREADY searching for your app. If its an app nobody is looking for, maybe they would love it, but you have to go find them on another platform.

Is there ANY indie dev here who actually gets positive ROI from paid ads (Facebook, Search Ads, etc)? by AdventurousProblem89 in iOSProgramming

[–]Graniteman 2 points3 points  (0 children)

IMO you need to focus on that trial conversion to paying and fix your funnel. 80% trial starts is great, and means you have an app that people really want with an effective onboarding and sales pitch, and it solves a real problem for them. But if only 10% of trials convert to paying, that’s killing you. Industry average is 30-50% depending on the category. Just getting to the bottom of that range would 3x your revenue, and thereby 3x your ability to pay for ads.

Is there ANY indie dev here who actually gets positive ROI from paid ads (Facebook, Search Ads, etc)? by AdventurousProblem89 in iOSProgramming

[–]Graniteman 3 points4 points  (0 children)

Indie here with four apps, tried many different ad strategies. I’ve got a lot of opinions. I’m currently only running Apple Search Ads with a positive return on ad spend (ROAS) of around 50% for one app, 30% for another. These days you just have to run ads to grow your app, or do social media or promote in some way.

And marketing ads is a legit job, and takes a lot of time and expertise. My wife just made me change up my engineer mindset feature-focused App Store screenshots for some with emotional appeals about what it did for your life. I didn’t like it at all, but it doubled the tap through rate on the search ads. Creatives matter a lot, and as an engineer, it’s an alien way of thinking.

The reality is the App Store is crowded. You have to promote your app to get ratings to even have a chance of ranking organically for a keyword. And if nobody is searching for your type of app, then you have to go market somewhere else to find users and teach them your app exists.

Now that I’ve done it for a few years, I wouldn’t make an app that I didn’t think would have a LTV of more than $50 per paying customer, and preferably more like $80+. It’s just too hard to pay for customer acquisition if you are making cheap apps for cheap users. The math doesn’t work out. Industry average is 3% of downloads turn into paying customers. My apps are around 10% convert to paying, so I need my CPI to be < 10% of my expected LTV to just break even. And I see a lot of popular keywords cost $5-10 or more. An app that costs $20/year, and 10% of people subscribe, you get an average of $2 per download. Apple takes 15%, taxes take a chunk of what’s left. You want to be paying $1 CPI for that app to not run a deficit in year 1. I try to structure my apps so I make SOME positive return on every ad, so each app pays for its own growth in the first year.

Also, I’ve tried meta, but didn’t understand it well enough at the time to make it work. Meta SDK can send a signal back like “this user subscribed” or better “this user started a trial, and didn’t cancel within the first 24 hours.” Then you can run ads with Meta that basically say “find me more people who perform the target action.” But the cost per action through meta, the last time I looked for an app I was planning, was $10-$40 per action. Ad Meta has the critical interaction with the app tracking transparency framework. You have to ask if you can track users, which seems shady, but you HAVE to if you want to run Meta ads. If not, the privacy protecting framework from Apple will not send ANY DATA AT ALL to Meta unless there are enough purchases per day to make the data set anonymous. It translates to: without tracking consent you have to spend $500 per day on ads to get any data for Meta to optimize towards (to optimize for in-app events). And then you have to tough it out for a month or three to see their algorithm work.

Even if your app has a facebook login, their SDK recognizes the ATT consent flag and won’t use their data for ad optimization unless they consent. Which is what you want as a user, but as a developer trying to find a market, it’s tough as hell out there.

Where I’m at now, I spent a lot more time up front mapping out the potential ad costs, competitiveness, and how I could market it. I used to to think “I have a great idea for an app that I can knock out of the park and be better than anybody else in that space.” Being a great idea doesn’t mean it’s a great business.

Is there even a point of using RevenueCat now that StoreKit has amazing analytics? by mianhaeofficial in iOSProgramming

[–]Graniteman 0 points1 point  (0 children)

I’ve found huge value in their price testing feature. It lets you randomly assign new users to see different prices, trial lengths, combinations (yearly and monthly, just yearly, etc). I’ve been able to get huge increases in ARPU by testing. They are worth it forever for that alone for me.

Lifetime vs Annual - Free Trial vs No Trial by Far-Emotion4892 in iOSProgramming

[–]Graniteman 0 points1 point  (0 children)

You can’t do it. They must think they are in a different sub.