App 上架教學

转自 http://forum.gamer.com.tw/G2.php?bsn=60521&sn=411

因為我的開發者已經在去年申請完畢了
這部份我無法再進入申請畫面,所以這半部無法做教學了
所以我只能針對 App 上架的部分做教學
如果想知道如何申請開發者的話請自己 Google 了
網路上很多教學資源可以使用

要將你的 App 上架時
首先你必須登入你的 iTunes Connect
請點選觀看圖片

這是登入後的畫面,選擇 "Manage Your Applications"
請點選觀看圖片

進入後的畫面,這邊可以看到你送審過的畫面
像是我的有四個 App 送審,其中 App 名稱前面有個圓球
綠的是已經上架了,橘的是還在申請中或還沒上傳,紅的是審核沒過或是上傳的專案有錯誤
(Detail 頁面有詳細的狀態說明)
當然要申請新的 App,所以要按左上角的 Add New App
請點選觀看圖片

按下後的頁面,這邊會輸入詳細資訊
Default Language 是你的 App 的預設語言
App Name 是你的 App 上架後的名稱,這邊可以跟自己專案的名稱不同
但是這個名稱是唯一的,不得重複
SKU Number 這邊是 App 的識別名稱,只要有辦法識別就好了
Bundle ID 這是你的 App ID,沒申請的話可以點下面的 Here 來註冊一個新的
請點選觀看圖片

App ID 同樣在這個頁面按下 New App ID 的按鈕
請點選觀看圖片

Description 是你這個 App ID 的描述,方便你識別是哪個 App ID
Bundle Identifier 是你的 App 獨一無二的 ID,格式是網址的反打
像是巴哈的網址是 www.gamer.com.tw
那 Bundle Identifier 就是  tw.com.gamer.(App名稱)
請點選觀看圖片

這個畫面是設定你的預計上架時間與價格
Availability Date 就是預計上架時間,這是給有特定時間限制時用的
設定完畢後還需要寄信跟 Apple 審核人員說明你的 App 需要在你設定的那一天上架
這樣子審核的人才會儘快去審理你的 App
Price Tier 是收費價格設定
(價格範圍從免費到 NT29900,詳細的定價點選 View Pricing Matrix 就能看到了)
Discount for Educational Institutions 是是否要使用教育優惠價格
Custom B2B App 這個是給公司私人用的 App 不在 App Store 上出現
請點選觀看圖片

這一頁需要輸入的內容比較長,所以我將它分成四張圖來說明
最上面的是版本資訊
Version Number 是版本編號
Copyright 是版權資訊
Primary Category 是主要的分類
Secondary Category 是次要的分類,這個是選項,可打可不打
Review Notes 是審查的附加資訊,像是你的 App 有需要帳號、密碼等入某個網站時
就需要提供測試帳號給審核人員使用,這個也是選項,可打可不打
請點選觀看圖片

這一個是 App 的分級制度的評分選項
這部份我沒刻意去讀它,所以需要的人就去自己翻譯吧
請點選觀看圖片

這邊是輸入詳細描述的地方,這邊的資料都會出現在 App Store 上
Description 是你的 App 的描述
Keywords 是關鍵字,這是在 App Store 上搜尋的時候會用到
Support Email Address 是你的 Email
Support URL 這是你的網站,開發者通常會需要一個網站,我自己就是用我的 Blog 當我的網站
Marketing URL 這是行銷網站,這個也是選填的
Privacy Policy URL 這是隱私權保護政策的網站,也是選填的
請點選觀看圖片

這邊是上傳你的圖檔
Large App Icon 是你的 App Store 上的 icon,這個 icon 可以與 App icon 不同
(現在的大小限制是 1024*1024 或 512*512,檔案格式限定為jpg、jpeg、png、tiff)
iPhone and iPod touch Screenshots & iPad Screenshots
是你的 iPhone 或 iPad 版的 App 螢幕截圖,如果只做兩個版本其中一個時就只要上傳其中一個就好了
請點選觀看圖片

設定完成後就會回到一開始的新增 App 的畫面
點一下你的圖示就會進入你的 App 詳細資訊
在這頁面的下方會有這個圖示,點選 View Details 就到下個畫面
請點選觀看圖片

點選右方的 Read to Upload Binary 就可以準備上傳了
請點選觀看圖片

上傳前還是會問你一些問題
第一個問題是問你要不要加密你的檔案
第二的問題是問你有沒有使用密碼功能
請點選觀看圖片

這樣子網頁上的設定就完成了,接下來就要回到你的 Xcode 就行上傳的預備動作了
{未完待續} 

<think> 我们正在开发一个鸿蒙美食类App(如“食光记”),使用DevEco Studio作为开发工具。以下将分步骤指导开发过程,并引用提供的参考资料。 ### 1. 开发环境搭建(引用[1][2][3]) - **安装DevEco Studio 5.0+**:从华为开发者官网下载安装包,安装时需包含HarmonyOS SDK 5.0(API 9)及Node.js 18.x环境。 - **配置SDK**:在DevEco Studio中配置ArkTS编译器3.1.0+和Device Tool工具,确保支持鸿蒙应用开发[^3]。 - **创建项目**: 1. 选择“Empty Ability”模板。 2. 语言选择ArkTS。 3. 设备类型勾选Phone/Tablet(根据需求可添加其他设备)[^3]。 ### 2. 项目结构说明 新建项目后,主要目录结构如下: - `entry/src/main/ets`:核心代码目录 - `entryability`:应用入口能力 - `pages`:页面组件 - `resources`:资源文件(图片、字符串等) ### 3. 编写欢迎页(引用[4]) 参考“美食杰”欢迎页实现,在`pages`目录下创建`Welcome.ets`: ```typescript import { router } from '@kit.ArkUI'; @Entry @Component struct WelcomePage { build() { Row() { Image($r('app.media.welcome')) // 资源管理器中放置welcome.jpg .width('100%') .height('100%') } } onPageShow(): void { setTimeout(() => { router.replaceUrl({ url: 'pages/Register' }) // 2秒后跳转到注册页 }, 2000) } } ``` > **注意**:需在`resources/base/media`中放置欢迎页图片`welcome.jpg`[^4]。 ### 4. 注册页实现 在`pages`目录下创建`Register.ets`,实现注册表单: ```typescript @Entry @Component struct RegisterPage { @State username: string = '' @State password: string = '' build() { Column() { TextInput({ placeholder: '请输入用户名' }) .onChange((value) => { this.username = value }) TextInput({ placeholder: '请输入密码', type: InputType.Password }) .onChange((value) => { this.password = value }) Button('注册') .onClick(() => { // 注册逻辑 }) } } } ``` ### 5. 数据管理(引用[1][2]) 美食类App需管理菜谱、用户等数据,推荐使用鸿蒙的分布式数据管理: - **用户数据**:使用`@ohos.data.preferences`持久化存储。 - **菜谱数据**:使用分布式数据库`@ohos.data.relationalStore`,支持跨设备同步[^2]。 **示例:存储用户偏好设置** ```typescript import { preferences } from '@kit.ArkUI'; // 获取Preferences实例 let prefs = await preferences.getPreferences(this.context, 'userProfile'); // 存储用户名 await prefs.put('username', 'Chef123'); await prefs.flush(); // 提交更改 ``` ### 6. 设备协同(引用[2]) 鸿蒙的分布式能力可实现多设备协同烹饪: - **跨设备数据流转**:使用`@ohos.distributedDeviceManager`发现设备,通过`@ohos.distributedDataManager`同步数据。 - **多屏互动**:手机选择菜谱后,可流转到智慧屏显示步骤,平板作为计时器使用。 **代码片段:设备发现** ```typescript import { deviceManager } from '@kit.DistributedServiceKit'; // 获取设备列表 let devices = deviceManager.getAvailableDeviceListSync(); devices.forEach(device => { console.log(`发现设备: ${device.deviceName}`); }); ``` ### 7. UI设计要点(引用[1]) - **色彩图标**:使用暖色调(如橙色、红色)激发食欲,图标采用简洁线条风格。 - **布局规范**:遵循鸿蒙设计指南,使用自适应栅格系统确保多端适配。 - **交互动效**:烹饪步骤页添加食材飞入动效,提升用户体验[^1][^2]。 ### 8. 性能优化(引用[2]) - **启动加速**:减少欢迎页耗时任务,使用`worker`线程处理初始化。 - **内存优化**:图片使用`Image`组件的`crop`属性避免内存溢出。 - **渲染优化**:列表页使用`LazyForEach`延迟加载[^2]。 ### 9. 原子化服务(引用[2]) 开发免安装的服务卡片“今日推荐”: 1. 在`resources/base/profile`中创建`form_config.json`配置卡片尺寸。 2. 使用`FormAbility`提供卡片UI数据更新逻辑。 --- 通过以上步骤,即可完成鸿蒙美食类App的基础开发。更多高级功能(如AR食材识别)需结合华为HMS Core的AR Engine实现。 §§相关问题§§ 1. 如何为鸿蒙美食App设计服务卡片? 2. 如何使用鸿蒙分布式数据库同步烹饪进度? 3. 如何集成AR识别功能实现食材测量? </think> 以下是基于 DevEco Studio 开发鸿蒙美食类 App 的完整开发教学,结合 HarmonyOS 5.0 特性和实践案例: ### 一、开发环境搭建(引用[1][3]) 1. **安装配置**: - 下载 DevEco Studio 5.0+(需包含 ArkTS 编译器 3.1.0+) ```bash # 验证环境配置 node -v # 需 v18.x hdc --version # 检查鸿蒙调试工具 ``` - 在 SDK Manager 中勾选: - API 9 - Device Tool - ArkTS 语言支持 2. **创建项目**: - 模板选择:`Empty Ability` - 语言:ArkTS - 设备类型:Phone/Tablet + 智慧屏(需设备协同) - 开启实时预览(Previewer)加速调试[^2] --- ### 二、核心功能实现 #### 1. 导航页面路由(引用[4]) ```typescript // Welcome.ets import { router } from '@kit.ArkUI'; @Entry @Component struct WelcomePage { build() { Image($r('app.media.app_icon')) .width('100%') } onPageShow() { setTimeout(() => { // 跳转到主页面 router.replaceUrl({ url: 'pages/MainPage' }) }, 2000) } } ``` #### 2. 原子化服务卡片(引用[2]) 在 `resources/base/profile/` 创建卡片配置文件: ```json // form_config.json { "forms": [{ "name": "recommend_card", "description": "每日菜谱推荐", "src": "./ets/widgets/RecommendCard.ets", "uiSyntax": "arkts", "window": { "designWidth": 720 } }] } ``` #### 3. 设备协同实现(引用[2]) 智慧屏菜谱流转: ```typescript // 主设备(手机) import { distributedDeviceManager } from '@kit.DistributedServiceKit'; // 发现智慧屏设备 const devices = distributedDeviceManager.getAvailableDeviceListSync(); const targetDevice = devices.find(device => device.deviceType === 'tv'); // 发送菜谱数据 distributedDeviceManager.transmitData(targetDevice.deviceId, { data: JSON.stringify(recipeData), isOrdered: true }); ``` --- ### 三、关键技术实践 #### 1. UI 设计规范 - **布局原则**: - 使用自适应网格系统:`GridContainer` - 暖色调主色系(#FF6B6B 食物红) - 卡片圆角 ≥ 16vp - **交互动效**: ```typescript // 菜谱卡片点击动效 Button() { Image($r('app.media.recipe_icon')) } .onClick(() => { animateTo({ duration: 300 }, () => { this.scaleValue = 0.95 }) }) ``` #### 2. 数据管理方案 | 数据类型 | 存储方案 | 使用场景 | |----------------|---------------------------|------------------------| | 用户偏好 | `@ohos.data.preferences` | 收藏夹、历史记录 | | 菜谱详情 | 分布式数据库 | 跨设备同步烹饪进度[^2] | | 实时数据 | `@ohos.data.rdb` | 用户评论、评分 | #### 3. 性能优化技巧(引用[2]) - **启动加速**: ```json // module.json5 "abilities": [{ "launchType": "standard", "visibility": "full_screen", "formsEnabled": true // 启用预加载 }] ``` - **内存优化**: - 图片加载使用 `Image.alt()` 设置降级图 - 列表页实现 `LazyForEach` 懒加载 --- ### 四、项目调试发布 1. **跨设备测试**: - 使用 Phone + 智慧屏协同调试 - 开启 `HiLog` 日志系统: ```typescript import { hilog } from '@kit.PerformanceAnalysisKit'; hilog.info(0x0000, 'RecipeApp', 'Data sync completed'); ``` 2. **上架流程**: - 在 `build-profile.json5` 配置应用签名 - 通过 DevEco Studio 生成.app 安装包 - 提交至 AppGallery Connect 审核 --- ### 完整项目结构 ``` FoodApp/ ├── entry/ │ ├── src/ │ │ ├── main/ │ │ │ ├── ets/ │ │ │ │ ├── pages/ # 页面组件 │ │ │ │ ├── widgets/ # 服务卡片 │ │ │ │ └── model/ # 数据模型 │ │ │ └── resources/ # 图片/字符串资源 │ │ └── module.json5 # 模块配置 ├── build-profile.json5 # 构建配置 └── harmonyos.app # 安装包 ``` > **提示**:完整代码参考美食杰示例项目[^4],实践时需注意: > 1. 分布式数据库需在 `module.json5` 声明 `ohos.permission.DISTRIBUTED_DATASYNC` 权限 > 2. AR 功能需集成 HMS Core AR Engine SDK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值