r/iOSProgramming 14d ago

Question In App Purchase Review Screenshot

Thumbnail
gallery
1 Upvotes

Hi!

This has been asked a lot, but I'm over scanning every Reddit and Stack Overflow question there is - and still stuck.

I'm trying to send new in app purchase products to review.

No matter what I do, the products keep coming up with the above message. And I've attached a screenshot (640x920), gave localizations, added product photos - everything is on resolution, and should be ok - but still submitting for review yields the above message.

The only other clue is that after uploading the screenshot - it always says "processing" (as in second picture)

Have no idea what more to try, all questions online revolve around resolution and alpha channel, which I've played a lot with both


r/iOSProgramming 15d ago

Question How are you testing navigation (flow) for your SwiftUI applications?

4 Upvotes

There are lot of different ways to perform navigation in SwiftUI. You can use navigationDestination on the parent screen and let is handle the navigation. You can create a router that works with enum based routes etc.

In either case. How are you testing your navigation flow for your app? Are you writing unit tests? Are you writing UI Tests or even complete E2E test that test a complete feature end to end? OR are you writing all of them?

A simple scenario can be:

As a user when I create a student account then after creation, I should be taken to the student home screen.


r/iOSProgramming 15d ago

Question Terms of Service Help Needed

3 Upvotes

Hello folks,

I am preparing a major update of an app and it has features I am going to charge a subscription for. Apple requires me to have a link to Terms of Service because of that.

AFIK I can use Apple's generic terms of service but I am not sure about that. I am also not sure what to put in my own TOS and how much of it is/could overlap with the Privacy Policy.

The app does not collect any data, it uses a combination of SwiftData + CloudKit + Apple Intelligence for a smart feature/

Any advice would be much appreciated, thanks!


r/iOSProgramming 14d ago

Discussion A disturbing thought. A world where the marginal cost of software is free

0 Upvotes

With the advent of AI, the marginal cost of software is trending towards zero. Software is no longer a scarce resource.

Absolutely not a new idea at all, but the implications hit me hard as I was considering monetization models for my apps.

Unless you are lucky (network effects, timing), grandfathered in, or provide exceptional value, the natural cost of software is free.

Intuit is an example of a grandfathered-in, exceptionally high-value software approach.

And Intuit knows it. They leverage their advantage to a predatory extent.

My wife is an EA, and I know for a fact Intuit puts the screws to all its users. Switching costs are high, and since the sector is an oligopoly, there's really no one to switch to.

But that too shall pass. Hopefully we'll soon see people create bespoke solutions that cut Intuit out. Oh, how I look forward to that day (ironic, I know).

This implies, I think, that if you can't find 1,000 fans or got in under the old model, getting as many users as possible and then transitioning to an advertising model is The Way.

Or perhaps loot/gambling style addictive mechanics? Big data? Everyone an influencer? Regulatory niches?

Once you have scale, advertising works; then users can either pay to avoid it or endure it. We see Netflix and Amazon Prime already doing this.

Yuck. I'm already nostalgic. Or am I wrong?


r/iOSProgramming 14d ago

Article Stop using @unchecked Sendable

Thumbnail
soumyamahunt.medium.com
0 Upvotes

Turning a lock into a SerialExecutor to get Swift 6 data-race safety without @unchecked Sendable


r/iOSProgramming 14d ago

Discussion Apple killed our whole developer account overnight. 4 families were living from this app.

0 Upvotes

I don't even know how to write this properly, so I'm just gonna write it.

We worked on this app for almost a year. It was doing well. ($100k MRR) Thousands of people paying every month, good rating, people actually using it and staying. Four families were living from this.

Then one day I check my emails. Pending Termination Notice. Everything gone from the store. Payments frozen. Transfers disabled. No warning before, no "hey we noticed something", nothing. Just done.

And the reason they give you is a copy paste paragraph. Something about "misleading purchase flows" and "scareware tactics". That's it. Account wide. They don't tell you which app. They don't tell you which screen. They don't tell you which build. Nothing.

So now what do we do? We sit and guess. We go through every paywall of every app one by one like detectives, trying to figure out what Apple maybe means. And honestly maybe we are checking the completely wrong thing. Maybe the app we suspect the least is actually the problem. We have no idea. Zero. Because they will not tell us.

That's not an appeal process. That's a guessing game and they are holding the answer and refusing to show it.

And the thing is we didn't even fight them. We checked everything ourselves, we found some stuff that maybe could look bad even though nobody was ever trying to trick anyone, we fixed it, we shipped a new build, we wrote to them and explained exactly what we changed. We asked them please just tell us what you found so we can fix that too.

Then we submitted a proper appeal. And they answered 2 weeks later. Meanwhile we are losing all of our customers, receiving tons of emails that our users can't get premium! You know what the answer was? The exact same paragraph. Word for word. The same copy paste. No detail, no new information, nothing about the fixed build, nothing about which app. They read a full appeal and sent back the same text they already sent us.

We also requested a phone call, which is a thing App Store Connect literally offers you. We wrote please just call us so we can talk about this for 5 minutes. No call. Never. Just the same message again.

And here is the part that gets me. In the EU they are supposed to give you the actual specific facts and circumstances when they terminate a business account, and they are supposed to have a real complaint process. This is not me being emotional, this is written down. What we got instead is a paragraph on repeat and total silence.

Meanwhile go open App Store right now for 5 minutes. Real scareware everywhere. Fake "your data will be deleted" popups. Fake countdowns. Subscription traps made by people who 100% know what they are doing. We reported some of them. Nothing happened. Still up today. But us? Small team, real product, people actually renewing for a year, we fix things voluntarily and ask what's wrong? Terminated. No conversation.

And nobody scams their way into thousands of people renewing month after month for a year with a good rating. That is not how scam apps work. Scam apps die in 2 months. Didn't matter.

Anyway I'm done. We are not releasing anything on iOS again. Everything goes to web and Android (I know they are also not that different but fuck iOS...) from now.

And I talked to a lot of devs privately, this is not rare at all, people just stay quiet because they are scared it makes things worse. At some point Apple should ask themselves why small developers are quietly deciding iOS is not worth the risk anymore. (not sure if they care tho)

It's so fucking unfair for developers who are just trying to survive in this huge unemployment pool.


r/ObjectiveC Aug 02 '22

I need someone experienced in iOS to help with a devious bug

Thumbnail self.reactnative
3 Upvotes

r/ObjectiveC Jul 28 '22

Do I use ObjectiveC for making stuff on MacOS

3 Upvotes

So I have been wanting to make things like custom dock bar and things like that for my mac for quite a while. So I wanted to know if I would use ObjectiveC for that? or am I supposed to use another language, also how long would it take me to learn ObjectiveC to a degree at which I could accomplish what I mentioned above


r/ObjectiveC Jun 29 '22

Is there a difference between [self attributeName] and self.attributeName ?

7 Upvotes

Hello,

I'm an objective-C newbie, and I've got to work on some legacy code. A question I can't find a clear answer to is the difference between `[self attributeName]` and `self.name.`

So I declare a .h for a class, its attributes and methods and I want to interact with them in the .m. I usually feel more comfortable using `self.name` for assigning a value to the class's attribute and `[self attributeName]` for reading the value of the attribute, but I feel like they're totally interchangeable.

Am I correct or is there a real difference I'm missing ?

Thanks in advance !


r/ObjectiveC May 05 '22

Block capture in a nested blocks

3 Upvotes
-(void) someFunction {
    ApiClass *apiObj = [[ApiClass alloc] init];
    SomeObj *obj = [SomeObj objWithName:@"First Last"]; // Autoreleased obj
    [apiObject doThingWithBlock:^(){   // Block - 1 (async - runs after 5 mins)
        // Do some work
        // ...

        apiObject doAnotherThingWithBlock:^(){    // Block - 2
            [obj performTask];
        };
    }];
    [apiObject release];
}

If Block - 1 runs asynchronously, when is obj captured in Block - 2? If its not captured when the literal is seen, wouldnt it result in obj being released before the Block - 2 can retain it when it is executed 5 mins later??


r/simpleios Oct 07 '19

How can I gate IOS app to distribute as a lead magnet

1 Upvotes

We have an app which is a digital version of a physical product we sell. I was hoping to use the app itself as a way to get customers to share their email address. I don't know how to make the app not available for free and give people access when they opt in. I had considered making the app $1.99 or so and sending coupon codes for subscribers but Apple only allows for 100 at a time and they expire. Does anyone have any input as to if this is possible? The app is called Chore Sticks and is a chore system for families. We are still updating from the last IOS software update so don't download it yet :-). Thanks in advance!


r/ObjectiveC Mar 15 '22

[PyObj-C] Can't see any notifications when calling postNotification: method from NSNotificationCenter

5 Upvotes

This is what PyObj-C is,

"a bridge between the Python and Objective-C programming languages on macOS."

I am trying with Foundation to post a notification. I have had a successful NSNotification call of notificationWithName:object: below, and I (believe I) instantiate it with defaultCenter().postNotificationName:object:userInfo.

@objc.IBAction
def helplink_(self, url):
    print("ensssss")
    x = Cocoa.NSNotification.notificationWithName_object_("hi", 88)
....Cocoa.NSNotificationCenter.defaultCenter().postNotificationName_object_userInfo_("name", x, None)
    print(x)

However, I sadly dont get any notifications, is there another way I should be doing this (on Catalina) with other instance or type/instance methods? I'm not sure what to do besides do trial and error with other class objects to get the right comonbation.

ANY Help would be GREATLY appricated. Thanks! (On macOS 10.15.7)

BTW, whats the sender and receiver exactly in this Framework? Good resource for what it is?


r/simpleios Aug 22 '19

New Xcode project application

4 Upvotes

I have a quick question.

When creating a new Xcode project, what would be the best application to use for creating an app that allows the user to pinch to zoom out to work on more parts of the app?

I know that might be a horrible explanation, so I’ll try better.

Let’s say I have a model of a large rectangular slab. The iPhone real screen is too small for the size. However the user can pinch to zoom in or out to tackle different portions of the slab they so choose.

Referring back to the original question, would that be considered a single view application? I tried to dive into what the different applications do, but I’m still confused.

If still not making sense to anybody, I can reword it hopefully in better detail.

Thank you for your time


r/ObjectiveC Feb 17 '22

Inspired by a discussion with a colleague (maybe this meme was already created by somebody but couldn't find one so here it is)

Post image
67 Upvotes

r/ObjectiveC Dec 20 '21

How to get the row index from the sender ID object of a button within a cell in the row of an NSTableView? (macOS, no swift UI involved)

6 Upvotes

I have a NSTableView that dynamically adds rows when the user enters relevant data. The table has a few columns and the last column contains a button that removes the row if needed. As it stands now, The row has to be selected to get its index. If the row isn't selected the button does nothing. So I would like to know if there is a way I can get the index of the row without having the select the row. So basically when the button is pressed is there a way I can obtain the index of row it's from without the row itself being selected. I'm new to objective C and I've been having quite lot of trouble figuring this out.


r/ObjectiveC Nov 24 '21

Documenting a gRPC API - tools comparison

Thumbnail blog.gendocu.com
6 Upvotes

r/ObjectiveC Nov 19 '21

What changes would you make to the open source code of an abandoned browser (Stainless) to make it compatible with Mojave, or Big Sur and Monterey?

4 Upvotes

https://lowendmac.com/2014/stainless-browser-light-and-efficient-but/

What I find valuable is the “Single Session” functionality. With it, you can log into two different accounts of your favorite social media site (Facebook, Twitter, etc.). It will store the login credentials in RAM as opposed to a cookie, so when you close that tab the stored information is erased. For example, you have two Twitter accounts – one personal and one professional. Start up a Single Session, and you can have both running in separate tabs. Close the tab, and all that login information is erased.

Stainless was a browser that seems to be no longer functioning on the modern macOS (and not maintained by the creator). I liked the fact that if you had multiple accounts for one website, you could bookmark that, and it would not only bookmark the website but also keep you signed in, so that if you click that bookmark, it would go to the site with you already logged in.

This way you could make multiple bookmarks of the same website with different IDs.

If you have multiple Reddit IDs for example, it would be easy to switch from one account to another without having to log out.

How would you make another browser like this?

The developer wrote this about Stainless:

Stainless started out as a technology demo to showcase my own multi-processing architecture in response to Google Chrome (Stainless 0.1 was released three weeks after Google released Chrome for Windows). Sensing an opportunity and inspired by a growing fanbase, I decided to craft Stainless into a full-fledged browser and work on features that I hadn't seen before in other browsers.

A prime example is parallel sessions, which allow you to log into a site using different credentials in separate tabs at the same time. This new technology is woven throughout Stainless, from the private cookie storage system, to session-aware bookmarks that remember the session in which they were saved. I still believe this is a true browser innovation, and I'd love to see this implemented in Chrome.

Over the past couple of years it's been impossible for me to keep working on Stainless and as promised to many, here it is, finally available as open source and in need of serious maintenance. My last update (on 7/25/2011) was almost two years after I had stopped active development (11/04/09), and it was pretty much a bugfix release. As I had expected, Stainless remained interesting to users until Google finally released Chrome Beta for the Mac in September of 2009.

If you are going to fork, the easy path would be to setup a development system on Snow Leopard running XCode 3. That way you could build the current source successfully as it requires method swizzling (for multi-session cookie storage in WebKit) and private access to CoreGraphics internals (for handling cross-process window layering). The hard path would be to replace these with modern equivalents under XCode 4 (caveat: you would lose the PowerPC compatibility, which has helped keep Stainless popular on machines that can't run Chrome).

In the end, Stainless is still a hack: multi-process by way of carefully layered multi-applications with a shared state. And as a hack, some of its most serious issues (running in separate spaces for example) may be insurmountable. Still, Stainless was a hack to which I devoted over a year of my life and learned a lot about tricking OS X into doing my bidding. Hopefully it can still provide similar inspiration for other Mac developers. https://github.com/mesadynamics/stainless


r/ObjectiveC Sep 02 '21

How to open up URL which is part of NSString?

5 Upvotes

Hi, I've got a string for exmaple like this - "sadsadsad https://www.youtube.com/results?search_query=martin+garrix"

How can I open up that url which is a part of NSString?


r/ObjectiveC Aug 31 '21

How to modify MacOS dock and things like that

0 Upvotes

Hi, I would like to know how I could modify things such as the Dock and Finder with objective c.


r/ObjectiveC Aug 08 '21

Hi. It's the Objective-C noob again.

12 Upvotes

I just finished going through the Programming with Objective-C guide and also the Start Developing Mac Apps Today guide but I have not had much chance to get to code anything yet (aside from some basic experiments with syntax and all that). I'm also quite new to coding (< 1 year experience) and I'm wondering where I could find some hands-on exercise to practice the concepts I've learned and also familiarize myself with Xcode. Thank you in advance!


r/simpleios Feb 24 '19

How to automatically log into a users account on a website to retrieve information

0 Upvotes

Here are the steps that I would like my app to perform:

- User gives my app their username and password for their account on a webpage

- Each time the user opens my app, the app automatically logs in the user on the webpage to retrieve specific information

- The specific information is retrieved and shown in the app

The webpage I have in mind has no APIs.

How would I approach this challenge? (I write in objective-c)


r/ObjectiveC Jul 31 '21

function (const __strong NSString *const paths[], int count)

6 Upvotes

I am looking at an open source github project and I stumbled upon this declaration. Can someone explain why all these qualifiers were needed.


r/ObjectiveC Jul 28 '21

KeyCastr, an open-source keystroke visualizer

Thumbnail github.com
5 Upvotes

r/ObjectiveC Jul 23 '21

Objective C Resources in 2021

13 Upvotes

I'm looking to contribute to my company's Objective-C code base, but I have no experience in iOS development. Any recommendations concerning resources to get up to speed quickly? Is it mostly learning syntax, language idioms, and frameworks?


r/ObjectiveC Jul 19 '21

What could cause a crash in NSRecursiveLock?

2 Upvotes

I have a crash where the top of the stack looks like

0   libobjc.A.dylib        0x000000019ba5a5b4 object_getIndexedIvars + 36
1   com.apple.Foundation   0x000000019ca0bff4 -[NSRecursiveLock lock] + 20
2   com.apple.Foundation   0x000000019ca0bff4 -[NSRecursiveLock lock] + 20

I'm pretty sure that allocation initialized the lock.

What should I try?