Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备
返回 Mac App Store
Prepare for Mac App Store Submission
提交到Mac 應用商店之前的準備
Most of your time is spent on coding tasks, but to develop for the Mac App Store, you need to perform a number of administrative tasks, using Xcode and other tools. You’ll do this throughout the lifetime of your app. The Mac App Store is a curated store and restricts which apps may be sold. Apple does this to provide the best experience possible for users. For example, apps that are sold on the Mac App Store must not crash or exhibit other major bugs.
你的大多數時間是用來編碼,但是要想為Mac應用商店做開發,你需要用Xcode 和其它工具來執行一些管理工作。你將在整個應用程序生命周期中都做這些。Mac 應用商店是一個有組織的(curated)商店,它嚴格限制哪些應用程序能被出售。 蘋果公司以此來給用戶提供盡可能最好的用戶體驗。比如,在Mac應用商店準備出售的應用程序決不能崩潰或者出現其它主要bugs。
Apple provides the tools you need to develop, test, and submit your app to the Mac App Store. All apps submitted to the store need to be code signed. If you use certain technologies—such as iCloud storage or In-App Purchase—there are additional configuration and administrative tasks you need to perform. There are tasks you perform to manage a team of developers as well. You also need to provide information about your app that the Mac App Store displays to customers, and you need to upload screenshots. Then you submit the app to Apple for approval. After the app is approved, you set the date when the app should appear for sale in the Mac App Store. Finally, you use Apple’s tools to monitor the sales of the app, customer reviews, and crash reports. You repeat the entire process again to submit updates to your app.
蘋果公司提供了開發需要的各種工具,測試以及把應用程序提交到Mac 擁有商店。 所有被提交到應用商店的應用程序都必須是已經簽名的。 如果你想使用特定的技術---比如iCloud存儲 或 內置購買(In-App Purchase)---你還需要執行額外的配置和管理任務。 蘋果也提供讓你執行后能管理一個開發者團隊的很多任務。你還需要需要提供應用程序的各種信息,以讓Mac應用商店展示給顧客,你還需要上傳應用截圖。然后你把應用程序提交到蘋果做審核(approval)。 當應用程序被審核通過后,你設置應用程序在應用商店出售的確切日期。最后,你使用蘋果提供的工具來監控(monitor)應用程序的銷售情況,用戶反饋(reviews),以及崩潰報告。更新應用時再重復這一整個過程。
Enroll in the Mac Developer Program
一、注冊加入Mac開發者計劃(Program)
To develop for the Mac App Store, you first need to join the Mac Developer Program. After you enroll in the program, you have access to all the resources and tools that you need to manage your account and begin using certain technologies.
要想開發Mac應用商店應用,你首先需要加入Mac 開發者計劃。 然后,你就可以訪問用來管理賬號并開始使用特定技術的所有資源和工具。
You become the primary contact for Apple, sign legal agreements, create your assets, and market your app. You’ll be asked if you are an individual developer or a company. If you are a company, you may add others to your team and grant some of them privileges to manage your account as well. If you use certain technologies—such as iCloud storage—individuals who need to run the app during development need to be added to your team to do so.
要想稱為蘋果的主要聯系人,你需要簽署法律協議,創建你的檔案,并把應用程序發布到應用市場。你將被詢問你是個人開發者還是一個公司。 如果你是一個公司,你可能添加其他成員到你的團隊并給于(grant)其中的一些隊員權限(privileges)使他們也能管理你的賬號。如果你需要使用一些特定的技術---比如iCloud存儲---團隊個人需要把開發過程中的應用程序添加到團隊中時需要使用。
You administer your account with these Mac Developer Program web tools:
你可以使用以下Mac開發者計劃網頁工具來管理你的賬號:
-
Member Center.?The tool to manage developer program accounts. Member Center is also a gateway to other resources and tools, including iTunes Connect.
- 會員中心。 用來管理開發者計劃賬號的工具。 它還是通往其它資源和工具的入口,包括iTunes 連接。
-
iTunes Connect.?The marketing and business tool used to check the status of your contracts, set up tax and banking information, obtain sales and finance reports, and manage metadata about the app.
- iTunes連接。 用來檢查你的合約(contract)狀態的市場和業務工具,它可以建立稅務信息和銀行信息,獲取銷售數據和財務報告,以及管理應用程序的元數據。
You can perform some of the Member Center administrative tasks using Xcode and return as needed by going to Member Center at?http://developer.apple.com/membercenter. These administrative tasks are necessary for security to ensure that your app is not distributed prematurely.
你可以使用Xcode來執行一些會員中心管理任務, 并根據需要通過登錄會員中心?http://developer.apple.com/membercenter 返回。這些管理任務對于安全性來說是不要的,它能確保你的應用程序沒有被過早(prematurely)的發布(distributed)。
Create Your Project and Configure It for the Mac App Store
二、創建并配置你的項目
When you create an Xcode project from a template, some of the Mac App Store configuration is completed for you. Xcode prompts you to enter the product name and company identifier. The bundle ID, which is used throughout the system to identify your app, is derived from these two properties. For example, in the TrackMix project, the product name is TrackMix and the default company identifier is?com.MyCompany. Therefore, the default bundle ID iscom.myCompany.TrackMix. You just need to replace the company name in the Bundle Identifier field with your name.
當你從模板創建一個Xcode項目時,一些Mac應用商店的配置已經為你完成。 Xcode提示你鍵入產品名稱(product name)以及公司標識符(company identifier). bundle ID 用來在整個系統中識別你的應用程序,它從這兩個特性派生(derived from)而來。比如,TrackMix項目,product name 是 TrackMix, 默認的company identifier 是 com.MyCompany。 因此,默認的bundle ID 是 com.myCompany.TrackMix。 你只需要用你自己名稱代替Bundle Identifier中的company name。
Xcode uses reasonable defaults for other values as well. Carefully consider the template you use to create an app and the settings used to configure the project; starting with the right template helps speed the development process. If you want to change these settings later, or use iCloud storage, you’ll find most of these settings on the target’s Summary pane in Xcode.
Xcode 還為其它值使用了很多合理的默認值。 仔細考慮使用哪種模板來創建一個應用程序并仔細考慮如何設置你的項目;使用正確的模板開始將幫助你加快開發進程。 如果你想在稍候修改這些設置,或者使用iCloud存儲,你可以在Xcode中target的Summary面板中找到大多數這些設置。
All apps submitted to the Mac App Store need to have an app icon (it appears in the Mac OS X Application Target section) and need to enable app sandboxing (in the Entitlements section). Entitlements give your app permission to perform certain functions. A sandbox is a set of fine-grained controls that limit an app’s access to files, preferences, network resources, hardware, and so on.
所有上傳到Mac 應用商店的應用程序都需要有一個應用圖標(它在Mac OS X應用程序Target 部分出現),并需要開啟應用程序沙盒(在Entitlements部分)。 Entitlements(授權)給你的應用程序權限來執行特定的功能。 沙盒是詳細的(fine-grained)控件,它們包括限制應用程序對訪問文件,偏好設置,網絡資源,硬件等等。
Provision Your Mac for iCloud and Other Technologies
三、讓你的Mac為iCloud 和其它技術做準備
If you use certain technologies, you need to perform additional administrative tasks and configure your app accordingly. Here are some technologies that require provisioning your Mac for development:
如果你使用特定的技術,你需要執行額外的管理任務并相應地配置應用程序。 以下是一些開發時你的Mac需要提供的技術:
-
Game Center.?A social gaming service allows players to share information about the games they are playing and to join other players in multiplayer matches.
- Game Center. 一個社交(social)的游戲服務,它允許玩家分享他們正在玩的各種游戲信息,并參與到多玩家競賽中去。
-
iCloud.?An iCloud storage and cloud computing service allows you to share the user’s data among multiple instances of your app running on different iOS and OS X devices.
- iCloud。iCloud 存儲 和 云計算服務,它允許運行在不同iOS 和 OS X 設備上的應用程序的多個實例之間分享用戶數據。
-
In-App Purchase.?Embedding a store directly into your app allows you to connect to the Mac App Store and securely process payments from the user.
- 內置購買。直接嵌入一個商店到應用程序,它允許你連接到Mac 應用商店并安全地從用戶那接受支付。
-
Push notifications.?This service allows an app not running in the foreground to notify the user that it has information for the user.
- 發送通知。 該服務允許沒有運行在前臺的應用程序給用戶發送一些信息。
Fortunately, Xcode creates some team assets—the Mac Team Provisioning Profile and the Xcode Wildcard App ID—to simplify the provisioning process. For example, using the Mac Team Provisioning Profile, your team can begin using iCloud storage immediately. Some technologies need to be enabled using Certificates, Identifiers & Profiles within Member Center in order for you to use them. If you use iCloud storage, you also need to configure iCloud under Entitlements in the target’s Summary pane in Xcode. If you don’t use any of these technologies, you can can skip this step.
幸運地是,Xcode 創建了一些團隊優惠配置(assets)---Mac 團隊配置文件(Team Provisioning Profile) 和 Xcode Wildcard App ID --- 來簡化配置過程。比如,使用Mac團隊配置文件,你的團隊就能立即開始使用iCloud存儲。一些技術需要開啟會員中心(Member Center)的證書(Certificates), Identifiers & Profiles 以確保你能使用它們。 如果你使用iCloud 存儲,你還需要在Xcode中target里的Summary 面板中Entitlements(授權)下配置iCloud。如果你不使用這些技術中的任何一個,你可以跳過該步驟。
Read?App Distribution Guide?to learn more about provisioning systems for development.
閱讀App Distribution Guide 學習更多關于開發中的配置系統(provisioning systems)。
Configure App Data in iTunes Connect
四、在iTunes Connect 中配置應用數據
When an app is sold on the Mac App Store, the store displays a lot of information about the app, including its name, a description, an icon, screenshots, and contact information for your company. To provide that information, you log in to iTunes Connect, create a record for the app, and fill in some forms. The record in iTunes Connect includes a field for a bundle ID; the value you place in this field must exactly match the bundle ID for the app. The app name and version need to match the Xcode project configuration as well. The artwork that the Mac App Store needs to present your app to customers needs to be uploaded to pass validation tests.
當應用程序在Mac 應用商店被售出,商店顯示很多關于應用程序的信息,包括應用名稱,詳細介紹,圖標,截圖以及你公司的聯系方式。 為了提供這些信息,你需要登錄iTunes Connect,創建一個應用程序記錄,并填一些表格。iTunes Connect 中的記錄包括一個bundle ID 項;該值必須跟跟應用程序中的bundle ID相一致。 應用程序名稱和版本號需要跟Xcode項目配置中的相一致。藝術品--- Mac 應用商店要呈現給用戶的應用程序,需要通過審核驗證測試。
Normally, you create your iTunes Connect app record late in the development process because there’s a time limit from when you create the record to when you must submit your app. Some Apple technologies, including Game Center and In-App Purchase, require that an iTunes Connect record to be created earlier. For example, with In-App Purchase, you need to create the app record so that you can add the details of the items you want to sell. This content needs to be created before the development process is complete so that you can use it to test the code you added to implement In-App Purchase.
正常情況下,你可以在開發過程中建立你的iTunes 連接,因為從創建一個記錄到你必須遞交你的應用程序之間有一個時間限制。一些蘋果技術,包括游戲中心(Game Center) 和 內置購買,要求要盡早地建立一個iTunes 連接記錄。比如,內置購買,你需要創建應用程序記錄,這樣你就可以添加你想要出售的項目詳情。 該內容需要在開發過程完成之前被創建,這樣你就可以用它來測試你的內置購買代碼。
Code Sign Your App
五、應用程序代碼簽名
Your app needs to be signed before it is submitted to the Mac App Store. By signing your app, you certify that the app is released by you. Because the app is signed with a private key that only you possess, Mac OS X can distinguish between legitimate and modified copies of your app.
你的應用程序在遞交到Mac 應用商店之前需要被簽名。 通過給應用程序簽名,你就可以證明該應用程序是由你發布的。 因為應用程序由一個只有你能處理的私鑰(private key)簽名的,Mac OS X 可以識別出應用程序是合法還是被修改后的山寨版。
There are many different types of signing certificates, used for specific purposes, that Xcode creates for you. You sign the entire Xcode project using a Mac Submission certificate, and you sign the installer package using a Mac Installer certificate. (You’ll create an installer package as part of the submission process.) If you use certain technologies—for example, iCloud storage and push notifications—you need a Mac Development certificate and provisioning profile too. If you want to distribute your app outside of the Mac App Store, you sign it using a Developer ID certificate. Mac Development certificates are owned by individuals and the others are shared by the team.
Xcode 可以為你創建很多種不同類型的簽名證書(signing certificates),它們都被用于特定的目的。 你用一個Mac 提交證書(submission certificate)來簽名整個Xcode 項目, 你使用一個Mac 安裝證書(Installer certificate)。 (提交過程中會創建一個安裝包。) 如果你使用特定的技術---比如,iCloud 存儲和推送消息---你還需要一個Mac 開發證書和配置文件。如果你想要在Mac 應用商店外發布應用程序,你可以使用一個開發ID證書進行簽名。 Mac開發證書是個人開發者個有的,其它證書則是和團隊共用的。
The first time you refresh your provisioning profiles in Xcode, it offers to request different types of signing certificates for you. To start this process, open the Organizer window, select Devices, select Provisioning Profiles in the Library section, and click Refresh. Log in with your Mac Developer Program username and password. If you are an individual developer, Xcode creates development and distribution certificates. If you don’t have permission to submit your app to the Mac App Store, Xcode only creates a Mac Development certificate for your.
當你第一次刷新Xcode里的配置文件時,它會向你請求各種不同類型的簽名證書。 要想開始該過程,打開Organizer window, 選擇 Devices, 在Library部分選擇Provisioning Profiles, 并點擊Refresh. ?登錄Mac 開發者計劃。如果你是個人開發者,Xcode 創建開發和發布證書。 如果你不能遞交應用程序到Mac 應用商店,Xcode 只創建一個Mac 開發證書。
When a dialog appears at the end of the refresh process asking whether you want to save your developer profile, click Export. Since the private keys for these certificates are stored on your system, you need to save them as a backup or export them in order to move them to another Mac. Export your certificates even if you don’t use all of them.
當刷新過程最后出現一個對話框,問你是否想要保存你的開發者配置文件(developer profile),點擊Export。當這些證書的私鑰被存儲在系統之后,你需要把它們備份它們或把它們導出到另一個Mac。導出所有的證書即使你沒有全部用到。
You sign your app by setting the Code Signing Identity build setting for your project to one of these certificates. When you enable entitlements in the target’s Summary pane in Xcode, this build setting defaults to your Mac Development certificate. Before submitting to the Mac App Store, set this build setting to your Mac Submission certificate. You select the Mac Installer certificate later, when you actually submit an archive of your app in the Archives organizer.
你可以通過設置代碼簽名認證(Code Signing Identity)來設置這些證書。(如下圖) 當你開啟了target的Summary面板中的entitlements后,該項設置默認為Mac 開發證書。 在你遞交應用程序到應用商店之前,設置該項設置為Mac 提交證書(Submission certificate)。然后當你在Archives organizer 里遞交應用程序的壓縮包時,選擇Mac安裝證書(Installer certificate)。
Submit to the Mac App Store
六、遞交到Mac 應用商店
Submitting your app to the Mac App Store is a multistep process involving several tools.
往Mac 應用商店遞交應用是一個多步驟過程,它涉及了以下工具。
First, log in to iTunes Connect and change the state of your app record to “Waiting for Upload” or later.
首先,登錄iTunes Connect 并把你的應用程序狀態轉為"Waiting for Upload" 或 其它。
If you don’t already have a Mac Submission certificate, refresh your provisioning profiles to create it.
如果你還沒有一個Mac 遞交證書, 刷新probisioning profiles 來創建它。
Using Xcode, create an archive, validate it, and submit it to the Mac App Store.
使用Xcode, 創建一個壓縮文件,驗證它,然后提交到Mac 應用商店。
When your app is approved, use iTunes Connect to set the date when the app will be available to customers.
當你的應用程序審核通過,使用iTunes Connect 來設置應用程序的發布日期。
You use the Archives organizer in Xcode to validate and submit your app. First, you create an archive and sign it with the Mac Submission certificate. Then you validate the archive, which performs an automated check against the app in the archive as well as the information you provided in your iTunes Connect record. If problems are found during validation, you need to fix them before continuing.
使用Xcode中的Archives organizer 來驗證和遞交應用。 首先,創建一個壓縮包并用Mac提交證書簽名。 然后驗證壓縮包,它對壓縮包中的應用程序和iTunes Connect record中的信息進行自動檢查。如果在驗證過程中發現了問題,你需要先更正了再繼續。
Before you submit the app, you should read?App Store Review Guidelines for Mac Apps?to avoid problems. When you click the Distribute button and select “Submit to the Mac App Store,” Xcode transmits the archive to Apple, where it is examined to determine whether it conforms to the guidelines. If the app is rejected, correct the problems that were brought up during app approval and resubmit it.
在提交應用程序之前,你應該閱讀App Store Review Guidelines for Mac Apps 文檔來避免問題。 當你點擊了Distribute(發布)按鈕并選擇了"Submit to the Mac App Store" 后, Xcode 把壓縮包傳送給(transmits)蘋果,在那里它需要被檢查是否符合各種準則。如果應用程序被駁回,更正問題后重新上傳審核,該循環一直進行指導通過審核。
Use iTunes Connect to set a date when the app will be released to the Mac App Store. For example, you can choose a date that immediately releases the app to the Mac App Store after it is approved, or you can set a later date for sometime in the future. Using a later release date allows you to arrange other marketing activities around the launch of the app.
使用iTunes Connect 來設置應用程序發布的日期。比如,你可以在審核通過后,選擇一個立即發布應用程序的日期,或者你也可以選擇延后發布。 使用延后發布可以讓你安排(arrange)應用程序發布的其它營銷活動。
Note:?If you want to distribute you application outside of the Mac App Store using your Developer ID certificate, read “Distributing Outside the Mac App Store” in?App Distribution Guide.
?注意: 如果你想在Mac 應用商店之外發布應用程序,你需要使用開發者ID證書,請參考App Distribution Guide 中的 “Distributing Outside the Mac App Store"。
Respond to User Issues
七、響應用戶反饋
You can’t just submit the app to the Mac App Store and forget about it. You should expect to manage the app records and maintain the app throughout its lifetime. After your app is available on the Mac App Store, you need to monitor it, respond to user issues, and submit updates as needed.
你不能把應用程序發布到Mac應用商店之后就不再管它了。 你應該在應用程序的整個生命期管理應用程序記錄并維護(maintain)該應用程序。 當應用程序在商店里出售了之后,你需要檢測它,響應用戶的反饋,并根據需要提交更新。
You want to pay attention to how users perceive the app. Customer ratings and reviews on the Mac App Store can have a big effect on the success of the app; if users run into problems, work quickly to determine the bug and submit a new version of the app through the approval process.
你想要關注用戶如何注意到(perceive)你的應用程序。用戶在Mac 應用商店里評價并反饋對應用程序的成功與否很關鍵;如果用戶運行遇到問題,快速確定該bug并遞交一個新的版本進行審核。
iTunes Connect provides data to help you determine how successful the app is, including sales and financial reports, customer reviews, and crash logs submitted to Apple by users. Crash logs are particularly important, because they represent significant problems users are seeing in the app. You should make investigating these reports a high priority.
iTunes Connect 提供了幫助你確定應用程序如何成功的各種數據,包括銷售數據和財務報告,用戶反饋,以及用戶提交到蘋果的崩潰記錄。 崩潰記錄尤其重要,因為它們表示用戶在應用程序中發現了顯著(significant)問題。 你應該高度重視這些報告。
All crash logs contain stack traces for each thread at the time of termination. To view a crash log, you need to open it from the Xcode Organizer window. As long as your Mac has the archive corresponding to the version of the app that generated the crash log, Xcode automatically resolves any addresses in the crash log with the actual classes and functions in the app.
所有崩潰日志(logs)都包含了終止時每個線程的堆棧跟蹤信息。要想查看一個崩潰日志,你需要從Xcode Organizer 窗口打開它。 只要你的Mac有關聯到產生崩潰日志的應用程序壓縮包,Xcode自動用應用程序中的真實類和函數來解析崩潰日志中的任何地址。返回 Mac App Store
轉載于:https://www.cnblogs.com/patientAndPersist/p/3180438.html
總結
以上是生活随笔為你收集整理的Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# 连接各种数据库 Access、Se
- 下一篇: 2018-2019-2 20175224