小编toi*_*ski的帖子

使用React Navigation动画离开屏幕

我正在开发一个React Native应用程序,它使用React Navigation 来管理屏幕之间的路由.

我知道阅读React Navigation文档并在Egghead.io上观看此视频(强烈建议),可以为将屏幕传递transitionConfig给a的屏幕之间的过渡定义自定义动画StackNavigator.

例如,以下代码从左侧动画定义幻灯片,幻灯片基本上是iOS默认推送动画的镜像:

const TransitionConfig = () => ({
    screenInterpolator: ({ layout, position, scene }) => {
        const { index } = scene
        const { initWidth } = layout

        const translateX = position.interpolate({
            inputRange: [index - 1, index, index + 1],
            outputRange: [-initWidth, 0, 0],
        })

        return {
            transform: [{ translateX }],
        }
    }
})

const MyNavigator = createStackNavigator(
    {
        A: …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native react-navigation

13
推荐指数
1
解决办法
969
查看次数

SafeAreaView 不允许 Appium 在 React Native 上找到子视图的可访问性 ID

我正在为通过 Appium 运行的 React Native(0.60 版)应用程序进行一些端到端测试。

我有几个按钮环绕在 a 周围,SafeAreaView以避免最新的 iOS 设备(例如 iPhone X、iPad Pro 等)出现问题。这是组件render()功能的关键部分:

const Buttons = (
    <StickyContainer visible={isSizeSelected} width={width} style={containerStyle}>
        {showAddToWishlist && (
            <Button
                outline
                fixedWidth
                uppercase
                tx="product.addToWishlist"
                onPress={() => this.onPressAddTo(ProductAction.AddToWishlist)}
                icon="heartBlack"
                margin={margin}
                showSpinner={isAddingToWishlist}
            />
        )}
        {showAddToShoppingBag && (
            <Button
                primary
                fixedWidth
                uppercase
                tx="product.addToCart"
                onPress={() => this.onPressAddTo(ProductAction.AddToShoppingBag)}
                showSpinner={isAddingToShoppingBag}
                {...setTestId("sizeOverlayAddToCartButton")}
            />
        )}
    </StickyContainer>
)

return <SafeAreaView forceInset={{ bottom: "never" }}>{Buttons}</SafeAreaView>
Run Code Online (Sandbox Code Playgroud)

如您所见,可访问性 ID 是通过setTestid()函数设置的,该函数仅执行以下操作:

const getPlatformTestId = (id: string) => {
    if (IS_IOS) …
Run Code Online (Sandbox Code Playgroud)

testing android ios appium react-native

6
推荐指数
0
解决办法
762
查看次数

™在 App Store Connect 中分阶段推出期间发布更新

App Store Connect 分阶段推出的详细工作原理是什么?Apple的官方文档很差,没有提到很多重要的事情。让我提出一些问题。

情况

  1. 我的应用程序当前版本是 1.0,并在 App Store 中发布给所有人。我要发布的版本是 2.0(内部版本号:100)并且是具有重大更改重大更新
  2. 我开始分阶段发行的版本2.0
  3. 2 天后,更新已达到我的 2% 用户(随机选择)并打开了自动更新。我决定暂停发布,因为我发现了一个严重的错误
  4. 我创建了一个2.0.1版本(内部版本号:101),其中的错误修正为2.0
  5. 我创建了一个1.0.1版本(内部版本号:102),打算回滚到1.0,以防主要更新进展不顺利

问题

  1. 在分阶段发布期间,更新的发布如何工作?2.0.1 版是否只发布给 2% 的已经收到 2.0 版的用户?或者它将交付给我的 2% 的全新用户?

  2. 如果是新的 2% 用户:

    2.1 使用 2.0 的 2% 的用户和仍然使用 1.0 的其余 98% 的用户会发生什么情况?

    2.2. 是全新的 2% 是真的吗?因为如果他们是随机选择的,那么旧的 2% …

app-store ios app-store-connect

5
推荐指数
1
解决办法
337
查看次数