Can I write a Mac App Store app with RealBasic? - macos

I am looking for an easy way to develop an application I wish to publish on the Mac App Store and I have tried Realbasic in the past so was wondering if this is a viable option.

It can be done, this Real Studio App was accepted already http://www.realsoftwareblog.com/2010/12/real-studio-and-mac-app-store.html

My first answer would have been that you can't do that. Applications published in the Mac App Store are written in Objective-C with the Apple developers' tools and I have never heard of a RealBasic app published there (nor on the iPhone).
However, I found a page where someone claims he has done exactly what you want: http://www.tempel.org/RB/AppStoreGuide

Related

Is it possible to distribute signed mac apps (with a free dev account) without the mac app store?

This might seem a silly question, but I come from iOS development which is a bit more restricted as we (all) know.
My question is partially answered here:
Is the mac app store required?
But I still have a doubt. Basically what I want is to develop a simple app with some 3rd party frameworks in and then give it to a friend for normal usage.
Are there any restrictions in any regard? I have a free iOS and Mac developer account.
Yes, you can do that. You do not need a Mac developer account at all. I would still suggest that you code-sign the app bundle though.
The only caveat is the user would needs to change a setting on their Mac to allow it through Gatekeeper.

Does Apple offer TestFlight beta testing for OS X?

TestFlight is a welcome change for iOS. It makes distributing beta versions painless for both the developer and the testers.
Does Apple support TestFlight for Mac OS as well? I've done quite a bit of searching and haven't found anything conclusive one way or the other.
We have an OS X app store app that turns out to have an install problem with Yosemite. We failed to do a first install test against Yosemite, so we missed the problem.
I developed a fix and would love to have some new users try it out. It's petty complex, difficult and disruptive to have current users delete the entire "container" directory and kill the preferences process in order to simulate a fresh install.
I also don't like the idea of distributing an unlocked version of our app. If that gets out, it could damage sales of the app store app.
I've done things like added an expiration date to a test app (weak protection) or created developer ID builds that will only run on machines from a specific list of MAC addresses. The last approach works, but it's tedious and painful to maintain, and requires that the tester give up uniquely identifiable information about their machines.
I'd really like the ability to create apps that will only run on beta tester's machines, like TestFlight does for iOS.
This is a developer question more than a code question. It isn't a great fit for SO, but I can't think of a better Stack Exchange site to post it. If anybody has a suggestion of a better site to post the question I'm happy to move it there.
This document at Apple Developer explains it.
It says you should register the testers' devices and generate a provisioning profile that includes them. Which means, theoretically, the app won't run on any device not in the list.
Here is the strange thing about it however: I have two Mac computers and I didn't register either of them with my provisioning profile (in fact the list of registered devices is empty right now), but I can run the exported app image on both easily. The app is sandboxed and signed, ready for App Store distribution, but nevertheless it runs on unregistered computers. It might be that with an empty device list it allows to run on any, or it might be that I'm doing something wrong with code signing.
I will update the answer once I figure this out.
Good news for everyone (including me) waiting for TestFlight for Mac - it just got announced on WWDC21.
Unfortunately, it might take another few months until it is out of beta and publicly available for everyone. But since this question is almost more than 6 years old, its just a fraction!
I"ll update the answer if there are more details available
Update
TestFlight on Mac will be available to download on the Mac App Store. It will be similar to the iOS version of TestFlight offering almost the same functionality to both developers and testers.
It supports both native Mac apps and iOS apps on Apple Silicon!
It is now available.
TestFlight is not available for Mac apps.
source: https://testflight.apple.com/
😕

Mac App Store: circumvent sandbox requirement

As many sources state on the internet, you need to have your app Sandboxed to be able to deploy it in the App Store.
Furthermore, it is impossible to use the accessibility api (AXUIElement.h) when sandboxed,according to this.
However, some apps still seem to use this api. One of these apps is Cinch. In the installation procedure of Cinch you need to give Cinch rights to use the accessibility API, so clearly they are using this API.
After checking out the binary from the app store with the following command:
codesign --display --entitlements - /Applications/Cinch.app
It seems the app is not sandboxed:
Executable=/Applications/Cinch.app/Contents/MacOS/Cinch
(only line in output).
So my question is, how is it possible to circumvent this requirement. Do you need to negotiate with Apple to achieve this? Are there special rules? Do you need to bribe a staff member? Or is my terminal command wrong?
Irradiated submitted Cinch to the App Store in 2011 before sandboxing was needed and didn't do any substantial updates since then. As soon as they add new functionality or features, they'll need to sandbox the app.
Apple wrote to the developers in February 2012:
Starting June 1 2012, if you have an existing app on the Mac App Store that is not sandboxed, you may still submit bug fix updates without sandboxing your app. In addition, if you have technical issues that prevent you from sandboxing your app by June 1, let us know.
and in May 2012:
If you have an existing app on the Mac App Store that is not sandboxed, you may still submit bug fix updates after June 1.
It is quite surprising for an app from the App Store to not be sandboxed.
If you do not develop a competing app maybe you could contact them directly. Maybe they will tell you how they've done it. You might also get your answer in a shorter amount of time as (at least in my view) not many developers would have done this.
http://www.irradiatedsoftware.com/about/

Can you update a sandboxed Mac app using Sparkle or something similar?

For those distributing Mac apps outside the Mac App Store, how are you planning to support updating and sandboxing? I'm guessing most people's answers for the time being is that they're not, but I hope that eventually non-MAS apps could be sandboxed just like MAS apps.
To use Sparkle, your app would need network access, which could be granted, as well as the ability to overwrite itself in Applications. Currently you could do this with the com.apple.security.temporary-exception.files.absolute-path.read-write entitlement, but that's not a good solution. It will likely go away, and even if it doesn't there's little point in sandboxing an app if you're going to give it full filesystem read-write access as well as network access.
Has anyone already gone down this path and found a good solution? I ask because I try to keep my MAS build and my non-MAS build as identical as possible, and I'm currently looking at having my MAS build sandboxed and my non-MAS build not.
In a conversation started by #chockenberry on twitter, #andy_matuschak responded favorably to creating an XPC service for Sparkle.
I have a pull request open on GitHub that actually creates the XPC service. Hopefully, this will get incorporated into Sparkle soon.
We actually have two versions of our app: one for our own web site and one for the app store.
I recommend using Sam Deane's approach which you can find in his GitHub repository. It works well for us.
Not yet.
As of 1.15 Sparkle does not support sandboxing, and the patch that is floating around has a vulnerability that allows complete bypass of sandbox security.

Best way to approach WP7 app development?

I have some knowledge of basic PHP developing however right now I am thinking about developing a phone app. I do however have a bit of a conundrum in that I love WP7 and I have so many ideas for features which can't be done on iOS and Android, however at the same time I am completely aware that my target users (filmmakers) generally have iOS or android phones.
Is there a way I can develop the app, which I will get a developer to do rather than myself, with WP7 as the lead platform and then make a relatively simple conversion to the other platforms or do apps generally have to be completely reworked for each platform?
Also, just to though it out there, any idea of where to go to find a freelance app developer?
Thanks
James
I think you have a few options, but the first question I would have is: where comes the data from. Are you the owner of the data, and do you already have a datasource from where you can get the data from? If not I would suggest take some time to write a decent 'backend' from which the different platforms easily can get the data from.
Also all different platforms have their own pro/cons which you cannot share that easily. If you build a WP7 app in silverlight/xna, you cannot directly port it to a ios/android variant, also functionality will probably look/react different. You will need different solutions foreach platform with this approach.
Another option would be to use an platform like phonegap which can create a solution that will work on multiple platforms. (It uses HTML5 to get it work on the different platforms)
Build your app on iOS and android first, and when you have an app to base WP7 development then contact a developer that has made similar apps to yours.

Resources