Recent

Author Topic: How to submit your apps to the Apple App Store  (Read 13192 times)

pasquale

  • Sr. Member
  • ****
  • Posts: 267
    • Esposito Software
How to submit your apps to the Apple App Store
« on: April 16, 2012, 07:46:49 pm »
Hi, everybody.

Thanks to Lazarus, I have managed to convert a few Windows applications of mine into Mac.

Now I would like to submit them to the Apple App Store and I have a few doubts about how it works.

I know that I must pay an annual fee of 99,00 dollars (euros?) to Apple and that I need to communicate my credit card data. I also know that Apple will keep 30% of the price out of each application sold.

What I don't know is the following:

(1) Will I have to provide Apple with the source files of my applications?

(2) Are there any restrictions concerning what you can put in your apps? For example, can you include an About form with a link to your personal Web site?

(3) Am I obliged to create an installation package in order to place my apps in the Application folder or can I just post a ZIP file containing the bundle?

(4) What are the most common reasons why Apple may refuse your apps?

(5) Since my applications are designed for the Italian public, do I have to look for a specific section of the App Store managed by Italians or is there only one App Store for all countries?

Thank you in advance for your help.
Apple loves breaking backward compatibility to make money. If you want to be sure that your apps will never stop working, use Windows and trash macOS!

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: How to submit your apps to the Apple App Store
« Reply #1 on: April 16, 2012, 08:17:22 pm »
(1) No.

(2) https://developer.apple.com/appstore/guidelines.html

(3) https://developer.apple.com/support/appstore/

(4) Probably not following review guidelines.

(5) I believe there are language-specific sections of the App Stores - check Apple's docs.


pasquale

  • Sr. Member
  • ****
  • Posts: 267
    • Esposito Software
Re: How to submit your apps to the Apple App Store
« Reply #2 on: April 16, 2012, 08:55:14 pm »
Hi.

When I try to download the guidelines, after logging in I get the error message you can see in the screenshot attached.

Do I have to pay the 99,00 euros to download the guidelines?
Apple loves breaking backward compatibility to make money. If you want to be sure that your apps will never stop working, use Windows and trash macOS!

jwdietrich

  • Hero Member
  • *****
  • Posts: 1232
    • formatio reticularis
Re: How to submit your apps to the Apple App Store
« Reply #3 on: April 17, 2012, 08:37:03 am »
Do I have to pay the 99,00 euros to download the guidelines?

Yes.
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 2.2.6 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: How to submit your apps to the Apple App Store
« Reply #4 on: April 17, 2012, 09:11:43 am »
Do I have to pay the 99,00 euros to download the guidelines?

Yes.
ROFLMAO!

So you need to pay up front in order to know if your application will be accepted. That sounds like a very... ehm... fair and open way of doing things.
Thanks for putting a smile on my face, though it could've been tears, too - my motivation to ever upload something to the app store just plummeted...

Regards,
BigChimp
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

pasquale

  • Sr. Member
  • ****
  • Posts: 267
    • Esposito Software
Re: How to submit your apps to the Apple App Store
« Reply #5 on: April 17, 2012, 06:56:17 pm »
If you ask me, it looks like a money-hungry policy. What if, after paying the 99,00 euros and reading the guidelines, I found out that the terms and conditions applied by Apple are not convenient for me? I would just waste 99,00 euros.
Apple loves breaking backward compatibility to make money. If you want to be sure that your apps will never stop working, use Windows and trash macOS!

jwdietrich

  • Hero Member
  • *****
  • Posts: 1232
    • formatio reticularis
Re: How to submit your apps to the Apple App Store
« Reply #6 on: April 17, 2012, 08:27:14 pm »
What if, after paying the 99,00 euros and reading the guidelines, I found out that the terms and conditions applied by Apple are not convenient for me? I would just waste 99,00 euros.

You are right.

Some basic information is available with the free developer account in the Mac Dev Center, including the overview document Developing for the App Store and some info on Submitting to the Mac App Store. However, the App Store Review Guide and the submission checklist require a subscription to the charged Mac Developer Program.

That, together with the nuisance of being obliged to use sandboxing in the future, prevented me from offering my applications in the Mac App Store.
« Last Edit: April 17, 2012, 08:34:13 pm by jwdietrich »
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 2.2.6 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux

pasquale

  • Sr. Member
  • ****
  • Posts: 267
    • Esposito Software
Re: How to submit your apps to the Apple App Store
« Reply #7 on: April 17, 2012, 08:58:14 pm »
I have taken a look at the documents and come to the conclusion that developing for the Mac App Store is extremely complicated and time consuming. I think I'll give it up and continue to publish my Mac applications on my personal Web site.
Apple loves breaking backward compatibility to make money. If you want to be sure that your apps will never stop working, use Windows and trash macOS!

jwdietrich

  • Hero Member
  • *****
  • Posts: 1232
    • formatio reticularis
Re: How to submit your apps to the Apple App Store
« Reply #8 on: April 18, 2012, 12:29:59 am »
I have taken a look at the documents and come to the conclusion that developing for the Mac App Store is extremely complicated and time consuming. I think I'll give it up and continue to publish my Mac applications on my personal Web site.

This is also my position.

The App Store is unnecessary harassment. Moreover, sandboxing is annoying while still being ineffective in preventing intrusions, see this ars technica article for further information.
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 2.2.6 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux

CCRDude

  • Hero Member
  • *****
  • Posts: 596
Re: How to submit your apps to the Apple App Store
« Reply #9 on: November 06, 2018, 08:07:38 pm »
I found this article quite some years later, but since it still is found when searching using common search terms, I wanted to post an update :)

Guidelines are free to review by now:
https://developer.apple.com/app-store/review/guidelines/
https://developer.apple.com/app-store/review/rejections/

Important topics in these guidelines regarding Lazarus are:
  • 2.4.5 (i) - Apps must be sandboxed. This is easy to do post-build by providing an entitlements file as a codesign parameter.
  • 2.4.5 (ii) - They must be packaged and submitted using technologies provided in Xcode. Still trying to find out about that.
  • 2.5.1 - Apps may only use public APIs and must run on the currently shipping OS. So far I hope that the Cocoa widgetset complies here.
  • Took me a few hours to find out - OpenSSL connections are not possible with Synapse, TFPHHTTPClient etc. in sandboxed apps. Instead, NSURLConnection needs to be used.

Once I've found out about the packaging and submitting, I'll update. Even if it's not possible, it was an interesting research, since the sandboxing stuff on MacOS was mostly new to me and is a good addition.

Hansaplast

  • Hero Member
  • *****
  • Posts: 674
  • Tweaking4All.com
    • Tweaking4All
Re: How to submit your apps to the Apple App Store
« Reply #10 on: November 08, 2018, 03:30:33 pm »
Awesome - I'm struggling with this as well, already getting stuck in the sandboxing process.
I know how it's done, but debugging is a pain. Phils document is a gold mine with very useful info by the way!
I'll be looking forward to your findings and if I find out something useful, I'll add it here as well.
Would have been cool if we could do all that straight from the IDE of course (I have tinkered with building a small app that does most of the steps for me, but it still needs a lot of work).

CCRDude

  • Hero Member
  • *****
  • Posts: 596
Re: How to submit your apps to the Apple App Store
« Reply #11 on: November 13, 2018, 08:37:26 am »
I don't debug on the Mac I have to admit (except for standard log file stuff), since I cross-compile from Windows. I hope to come up with some improvements to debug Linux binaries on Windows (using Windows Subsystem for Linux), and that's mostly sufficient for me.

Thanks a lot for the link! I'll update my bash script to add the checks there.

As for the IDE, I was recently working on my IDE codesigning package, which already does the binary moving. Too hesitant yet to add editors for Info.plist and something.entitlements yet. I agree that having this in one place would simplify stuff and individual research!

My biggest issue with creating the .pkg so far was a silly permissions problem. You've got to do a chmod 755 before calling productbuild, otherwise the installation would have irritating side effects with an inaccessible app. This is my current script:

Code: [Select]
#!/bin/bash
folder="/Users/ccrdude/Desktop/apps"
appBundle="$folder/bundle/My App.app"
entitlements="$folder/MyApp.entitlements"
pkg="$folder/setup/MyApp10.pkg"
pkgid=com.example.myapp
devid=CAFFEE

echo Testing entitlements...
plutil "$entitlements"
echo .

ls  -lg "$folder/bundle"
echo Forgetting app...
sudo pkgutil --forget $pkgid
echo Preparing permissions...
sudo chmod -R 755 "$appBundle"
echo Removing attributes...
xattr -cr "$appBundle"
echo Remove .DS_Store...
find "$appBundle" -name '*.DS_Store' -type f -delete
echo .

echo Codesigning...
codesign -f -vvvv --deep --entitlements "$entitlements" -s $devid "$appBundle" --timestamp
echo .

echo Building installer...
productbuild --component "$appBundle" /Applications "$pkg"
echo .

echo Codesigning installer...
codesign -f -vvvv "$pkg" -s $devid --timestamp
echo .
ls  -lG "$folder/bundle"
sudo chown -R :staff "$appBundle"
echo .

1. Removing attributes might only be necessary because I move my binaries over a SMB share from a Windows machine.
2. Timestamping is always a good idea with codesigning.
3. chmod 755 might be another side effect of my binaries shared over the network, but without, local app and installed app might be unaccessible without sudo (owner gets changed by productbuild).
4. the last chown is a remainder of the topic above, probably no longer necessary, still need to clean up the script :)
« Last Edit: November 13, 2018, 08:41:27 am by CCRDude »

CCRDude

  • Hero Member
  • *****
  • Posts: 596
Re: How to submit your apps to the Apple App Store
« Reply #12 on: November 22, 2018, 09:32:03 am »
I've found another small task optional/soon mandatory today - the notarization. Helps even with apps not published to the store.

To make that possible, you need to specify "--options runtime" to the codesign call as well. After that, you can continue with xcrun altool.

Not sure if I will continue to create an even longer bash script, or simply wrap it into a small Lazarus tool.

tearsfornations

  • New Member
  • *
  • Posts: 35
  • Jesus is worth talking about.
    • Lightning Bolt Quiz - How many Lightning Bolts do you deserve?
Re: How to submit your apps to the Apple App Store
« Reply #13 on: April 21, 2023, 03:01:14 pm »
Has anyone got any lazarus apps in the app store?
I'm considering submitting mine.
-
Used C++Builder for the longest time, got macOS, How many Lightning Bolts do you deserve? Find out at my website: https://boltquiz.org

 

TinyPortal © 2005-2018