* * *

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

pasquale

  • Full Member
  • ***
  • Posts: 183
    • 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.
I'm beginning to love the Mac and hate Apple's money-hungry policy.

Phil

  • Hero Member
  • *****
  • Posts: 2750
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

  • Full Member
  • ***
  • Posts: 183
    • 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?
I'm beginning to love the Mac and hate Apple's money-hungry policy.

jwdietrich

  • Hero Member
  • *****
  • Posts: 980
    • 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 1.8.4 | FPC 3.0.4 | 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

  • Full Member
  • ***
  • Posts: 183
    • 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.
I'm beginning to love the Mac and hate Apple's money-hungry policy.

jwdietrich

  • Hero Member
  • *****
  • Posts: 980
    • 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 1.8.4 | FPC 3.0.4 | PPC, Intel, ARM | macOS, Windows, Linux

pasquale

  • Full Member
  • ***
  • Posts: 183
    • 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.
I'm beginning to love the Mac and hate Apple's money-hungry policy.

jwdietrich

  • Hero Member
  • *****
  • Posts: 980
    • 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 1.8.4 | FPC 3.0.4 | PPC, Intel, ARM | macOS, Windows, Linux

CCRDude

  • Sr. Member
  • ****
  • Posts: 407
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

  • Sr. Member
  • ****
  • Posts: 446
  • 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

  • Sr. Member
  • ****
  • Posts: 407
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 »

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus