AspirinShot 开源项目教程

AspirinShot 开源项目教程

AspirinShot Painless App Store screenshots with SwiftUI, in Xcode AspirinShot 项目地址: https://gitcode.com/gh_mirrors/as/AspirinShot

1. 项目介绍

AspirinShot 是一个使用 SwiftUI 在 Xcode 中创建 App Store 截图的工具。它允许开发者利用自己的 SwiftUI 和 UIKit 视图,轻松地制作出符合不同设备尺寸和语言本地化的高质量截图。AspirinShot 支持 Light/Dark 模式,并提供了一系列预制的模板,以简化截图创建过程。

2. 项目快速启动

添加项目依赖

首先,确保你已经安装了最新版本的 Xcode。

  1. 在 Xcode 中,选择 File > Add Packages...
  2. 输入 https://github.com/goodwhale/AspirinShot 并添加到你的 Target 中。
  3. 确保 AspirinShot 包不会被包含在你的 Release 构建中。在 Target 的 Build Settings 中,进入 Build Options 并在 Excluded Source File Names 中添加 "AspirinShot*"

创建截图

以下是一个简单的例子,展示了如何创建一个带有标题和背景的截图:

import SwiftUI
import AspirinShot

struct FirstScreenshotView: View {
    @Environment(\.screenshotFormat) private var screenshotFormat

    var body: some View {
        ScreenshotWithTitleView(
            position: .top(0.2),
            screenshot: .fit(0.95, .top)
        ) {
            Text("Hello", tableName: "AspirinShot")
                .font(.largeTitle)
                .bold()
            Text("@AspirinShot")
                .font(.largeTitle)
                .bold()
        }
        .productBezel(scaledTo: .fit, statusBar: .black(on: .white))
        .background(SFPatternView(systemName: "star.fill", itemSize: 40)
            .foregroundStyle(.teal))
        .environment(\.managedObjectContext, PersistenceController.screenshots.viewContext)
        .environment(\.isProUser, true)
        .environmentObject(ViewModel())
    }
}

struct FirstScreenshotView_Previews: PreviewProvider {
    static var previews: some View {
        ScreenshotPreviews(.first, in: "zh-CN") {
            FirstScreenshotView()
        }
    }
}

预览和导出截图

创建一个文件以启动全局预览器/导出器:

import SwiftUI
import AspirinShot

struct ScreenshotsASApp_Previews: PreviewProvider {
    static var previews: some View {
        AspirinShotPreview(
            screenshots: [
                .hero,
                .why,
                .how,
                .success
            ],
            userID: "yourUserId"
        ) {
            switch screenshot {
            case .hero: HeroScreenshotView()
            case .why: WhyScreenshotView()
            case .how: HowScreenshotView()
            case .success: SuccessScreenshotView()
            default: EmptyView()
            }
        }
    }
}

启动预览并导出截图。

3. 应用案例和最佳实践

  • 自定义数据和环境对象:为你的视图提供自定义数据和环境对象,以便根据不同的设备尺寸和方向调整设计。
  • 本地化:利用 .strings 文件进行本地化,确保截图适用于不同的语言环境。
  • 使用模板:检查项目中的 Starter Kit,你可以复制并粘贴到你的项目中,从中开始制作截图。

4. 典型生态项目

AspirinShot 可以与其它开发工具和库一起使用,例如:

  • SwiftUI:用于构建用户界面。
  • Core Data:用于管理本地数据存储。
  • Combine:用于处理异步事件和状态管理。

通过结合这些工具和库,开发者可以创建更加完善和高效的应用截图自动化流程。

AspirinShot Painless App Store screenshots with SwiftUI, in Xcode AspirinShot 项目地址: https://gitcode.com/gh_mirrors/as/AspirinShot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计煦能Leanne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值