跳到主要内容

13 篇博文 含有标签「iOS」

查看所有标签

iOS APP 如何轻松测试应用内购买(IAP)

· 阅读需 6 分钟
GoSwiftUI
goswiftui.com

如果你曾经使用过依赖于应用内购买(我将其缩写为 IAP)的 iOS 应用程序,你可能已经体验过彻底测试你的 IAP 是否正常工作是多么具有挑战性。

这是因为 IAP 处于一个特别困难的交叉点:

  • 一方面,围绕 IAP 的用户流程可能会很快变得复杂:恢复购买、从一个计划升级或降级到另一个计划、订阅价格上涨通知等。
  • 另一方面,IAP 通常是使用它们的应用程序的主要收入来源,因此生产中的 IAP 损坏可能会对应用程序背后的公司产生非常严重的后果

然而,苹果似乎注意到这正在成为一个问题,因为几年前他们在 Xcode 中引入了一项新功能,使测试 IAP 比以前更容易:StoreKit 配置文件

用代码示例解释 Swift 中的 Ranges

· 阅读需 7 分钟
GoSwiftUI
goswiftui.com

Swift 中的范围(Ranges)允许我们选择字符串、集合和其他类型的部分内容。它们是我们从 Objective-C 中熟悉的 NSRange 的 Swift 变体,尽管在使用上有所不同,我将在本篇博文中解释清楚。

通过使用范围运算符,范围使我们能够编写优雅的 Swift 代码。你第一次使用范围可能是因为你需要从字符串中选择一段字符,但是实际上你可以做的远不止这些!

在SwiftUI中使用CoordinateSpace实现视差标题效果

· 阅读需 6 分钟
GoSwiftUI
goswiftui.com

在移动和 Web 应用程序中,视差标题是一种流行的设计模式,可以创建视觉上令人惊叹的界面。通过在用户滚动时以不同的速度移动内容,视差标题可以创建深度和动态的错觉。

在本博客文章中,我们将讨论如何使用 SwiftUI 实现视差标题。我们将使用.named(coordinateSpace)修饰符创建一个坐标空间,用于计算标题在用户滚动时的位置。

优化 SwiftUI 支持多平台代码

· 阅读需 4 分钟
GoSwiftUI
goswiftui.com

对于使用 SwiftUI 的多平台项目,它确实可以显著加快为多个平台开发的速度。然而,由于苹果的各个平台之间存在足够的差异,因此最终你的代码库将充斥着#if os()判断。

修复 iOS 小部件中最奇怪的错误/崩溃?

· 阅读需 5 分钟
GoSwiftUI
goswiftui.com

今天,当我注意到 SwitchBuddy 倒计时小部件之一出现问题时,我的一天变得相当糟糕。游戏是今天推出的,但小工具显示的是 "明天"。起初,我以为在这种情况下,我的倒计时逻辑只是稍有偏差,而我之前并没有注意到。

使用 SKStoreReviewController 实现应用内评分来提高 AppStore 评分

· 阅读需 11 分钟
GoSwiftUI
goswiftui.com

SKStoreReviewController 允许从应用程序内向您的用户询问 App Store 评分。正面的评价可以帮助您的应用在 App Store 中脱颖而出并吸引更多用户。当您在正确的时间要求用户评分时,转化率会增加。

虽然实施评级请求很容易,但在正确的时间要求评级可能会变得更加复杂。参与的用户更有可能发布正面评价,而当您在用户流的中间要求评分时,您可能会期望得到负面评价。让我们深入了解如何创建出色的评分请求体验。

SwiftUI 中实现共享跨平台(iOS/macOS)代码

· 阅读需 3 分钟
GoSwiftUI
goswiftui.com

在SwiftUI中构建应用程序的主要吸引力在于能够跨平台共享 UI 代码,尤其是 iOS 和 macOS。它并不完美,您经常需要进行一些#if os()检查,但是当它起作用时,它确实很棒。在 SwiftUI 出现之前,您已经可以在 iOS 和 macOS 之间共享大量(非 UI)代码。许多系统框架在两个平台上都可用,例如FoundationCore Data。偶尔会存在 API 差异,但它们很少会带来很大的负担。

在开发跨平台 SwiftUI 应用程序时,最大的问题是当您需要在 macOS上使用AppKit和在 iOS上使用UIKit时。通常,您需要的 API(因为 SwiftUI 中没有它们)完全不同。但是,有时 API几乎相同,但只是不同,以至于需要分支到特定于平台的代码路径。一个很好的例子是UIPasteboard在 iOS 和NSPasteboardmacOS 上。

在我正在开发的这个跨平台 SwiftUI 应用程序中,我希望允许用户从表格视图中复制一些文本。两个平台共享 UI 代码,但不共享底层复制功能——因为我们需要在 macOS 上使用 AppKit,在 iOS 上使用 UIKit。但我想保持调用站点的复制操作代码干净,无需进行大量#if os()检查。为此,您可以巧妙地使用typealias.

如何在 App Store 上获得推荐

· 阅读需 6 分钟
GoSwiftUI
goswiftui.com

多次获得在 App Store 推荐的开发人员的方法

在 App Store 中获得推荐是一笔不错的交易。但是您知道**您可以要求 Apple 展示您的应用吗?**每个 App Store 开发者都可以申请功能。您需要做的就是在 Apple Developer 网站上填写专门的表格。

由于我还没有使用表单的经验,所以我决定与其他开发者聊天,希望能启发更多的独立开发者,也许是为了关注这种表单并在 App Store 上获得良好的曝光率。

使用 SwiftUI/UIKit 实现 iOS 应用密码自动填充

· 阅读需 4 分钟
GoSwiftUI
goswiftui.com

了解如何在 SwiftUI 和 UIKit 实现 Apple 的密码自动填充。

Apple 的密码自动填充功能允许用户在不同设备上登录同一个帐户,而无需记住他们的凭据。

例如,在 Web 应用程序中注册时,用户可以生成密码并将凭据保存在他们的 iCloud 钥匙串中。当他们在某个时候运行本机应用程序以访问同一帐户时,该应用程序会在密码 QuickType 栏中建议为网站存储的凭据。在用户进行身份验证后,假设使用 Face ID,系统会预先填写凭据 - 因此无需重新输入它们。

AppStore 购买成功后退款,苹果是否会保留佣金?

· 阅读需 3 分钟
GoSwiftUI
goswiftui.com

这里有一个有趣的问题,似乎定期重新出现,但没有明确的答案:在用户获得应用程序内购买退款后,苹果的佣金会发生什么?

根据付费应用程序协议,如果应用程序内购买退款,所有 iOS 开发人员必须同意以下政策:

“Apple 将有权保留其销售该许可应用程序的佣金,尽管已将价格退还给最终用户。”