mac apps 上传 mac app store(英文)

THIS IS A LIVING POST
Expect it to change as I continue working to improve it.

Preface

Apple's Mac App Store is a new and exciting way for independent REAL developers to gain a level of exposure most of us could only dream of before. With almost no effort or expense, we are now able to show off our products to potentially millions of Mac users, as eager to consume our wares as iPhone/iPad/iPod users have proven to be over the past few years.

Image

The process to successfully get an app on to the Mac App Store may seem incredibly intimidating, especially for those of you who strictly develop in REAL and thus lack experience with more traditional methods of Apple development. This post is intended to bring together all the major steps and definitions into an easy document I'm sure many of us (myself included) will refer to again and again. Although at first it may appear overly complex, rest assured all these steps are designed to guarantee the safety of both developers and consumers.

After going through this a few times, I can tell you from personal experience it isn't that bad. I am now to the point where I can process my apps in about five minutes. My best advice is to  help yourself , by creating a logical, well-organized workflow that you can easily repeat again and again.

Please ask questions, make comments, suggestions or corrections by replying to this topic.

Part I: Building and Submitting to the Mac App Store

Step 1
Enroll in the Mac Developer Program . This $99 annual subscription gives you access to beta versions of Mac OS X and Xcode, access to thousands of reference articles, a complete Mac OS development library, and a private and discreet developers forum forum that is often trafficked by Apple developers.

Step 2
Download the latest version of Xcode from the  Mac Developer portal . As of this writing, the current version of Xcode is 3.2.5 and requires the  additional  download and installation of Application Tools 1.1. I'm not sure if this will remain the case with future versions of Xcode (probably not).

Image

Step 3
Before doing anything else, decide what you want your Application Bundle Identifier (Bundle ID) to be (if you haven't already). For most apps, Bundle IDs will be in the format com. yourcompany . yourproduct , i.e. com.apple.itunes for iTunes. You will use this often.

Apple Documentation wrote:
CFBundleIdentifier (String - iOS, Mac OS X) identifies the type of the bundle. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. The string should also be in reverse-DNS format. For example, if your company’s domain is Ajax.com and you create an application named Hello, you could assign the string com.Ajax.Hello as your application’s bundle identifier. This key does not uniquely identify a specific bundle in the file system, as multiple copies of an application with the same or different version may exist.

Note: Although formatted similarly to a UTI, the character set for a bundle identifier is more restrictive.
The preferences system uses this string to identify the application for which a given preference applies. Launch Services uses the bundle identifier to locate an application capable of opening a particular file, using the first application it finds with the given identifier. In iOS, the bundle identifier is also used in validating the application signature.

Step 4
Ensure your app conforms to the  Mac App Store Review Guidelines  and, more generally, the  Apple Human Interface Guidelines . The latter document is extremely long and time consuming. In a nutshell it says make sure your app doesn't suck.

One of, if not THE most common setback developers seem to encounter is writing to forbidden locations. Below are the REAL Studio-formatted locations you're allowed to write to. Except as noted below, unless a user explicitly chooses to save data in an alternate location (using a Save As file dialog), your application may only write to the following locations:

  • SpecialFolder.ApplicationData.Child("{app-identifier}")
  • SpecialFolder.UserLibrary.Child("{app-identifier}")
  • SpecialFolder.UserLibrary..Child("Caches").Child("{app-identifier}")
  • SpecialFolder.Temporary.Child("{app-identifier}")

Replace {app-identifier} with your application's Bundle ID, its name, or your company's name. These strings  must  match what you provided through iTunes Connect for this application.

If your application manages libraries of photos, music, or movies, the application may also write to the following directories:

  • SpecialFolder.Pictures.Child("{app-identifier}")
  • SpecialFolder.Music.Child("{app-identifier}")
  • SpecialFolder.UserLibrary.Child("Movies").Child("{app-identifier}")

You cannot write to any shared locations. Period. This includes your root-level /Applications folder, or anything inside the root-level /Library folder including /Library/Application Support and /Library/Preferences. I interpret this to also mean you cannot write to the contents of your own application bundle. I haven't tried myself, but even if you could, you shouldn't. So for the sake of this tutorial we'll say you can't.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值