- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用位置权限的 React Native Expo 应用程序。它在我的设备和模拟器上运行良好,因此进入分发的下一步 - TestFlight。当我将 ipa 加载到 Testflight 然后尝试运行该应用程序时,该应用程序会一直运行到我请求用户许可的程度。 (因此应用程序加载,身份验证工作,到我的服务器和数据库的链接都工作等)。
在代码请求用户位置权限时,通常的警报“使用应用程序时允许,始终允许,不允许”在屏幕上闪烁几毫秒,然后应用程序崩溃,我可以选择分享评论到 Testflight。
请求许可的代码在这里:
import * as Location from 'expo-location';
import * as Permissions from 'expo-permissions';
import createDataContext from '../../Context/createDataContext';
const deviceLocationReducer = (state, action) => {
switch (action.type) {
case 'get_device_location':
return action.payload;
default:
return state;
}
};
const getDeviceLocation = dispatch => async () => {
let deviceLocation = null;
try {
// Ask User permission for location
const { status } = await Permissions.askAsync(Permissions.LOCATION);
console.log('\n***\nDeviceLocationContext.js: Permission status', status);
if (status === 'granted') {
// Permission granted, get user location
deviceLocation = await Location.getCurrentPositionAsync({});
console.log('DeviceLocationContext.js: Setting Context', deviceLocation);
} else {
console.log(
'DeviceLocationContext.js: Permission to access location denied'
);
}
dispatch({
type: 'get_device_location',
payload: deviceLocation,
});
} catch ({ message }) {
console.log(
`DeviceLocationContext.js: Get Device Location Error: ${message}`
);
}
};
export const { Context, Provider } = createDataContext(
deviceLocationReducer,
{ getDeviceLocation },
null
);
这里是app.json
{
"expo": {
"name": "MyApp",
"description": "MyApp Description",
"slug": "client",
"privacy": "public",
"sdkVersion": "35.0.0",
"platforms": ["ios", "android"],
"version": "0.0.7",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": ["**/*"],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.reachout.myapp",
"icon": "./assets/images/icon.png",
"infoPlist": {
"NSCameraUsageDescription": "Please allow access to add your photo.",
"NSPhotoLibraryUsageDescription": "Please allow access to select an image from your photo library.",
"NSLocationWhenInUseUsageDescription": "Please allow access to show venues near you"
},
"buildNumber": "0.0.7"
},
"android": {
"permissions": [
"CAMERA",
"ACCESS_COARSE_LOCATION",
"ACCESS_FINE_LOCATION"
],
"versionCode": 7,
"icon": "./assets/images/icon.png"
}
}
}
这里是package.json
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@expo/vector-icons": "^10.0.6",
"axios": "^0.19.0",
"expo": "^35.0.0",
"expo-camera": "^7.0.0",
"expo-constants": "~7.0.0",
"expo-font": "^7.0.0",
"expo-image-picker": "~7.0.0",
"expo-location": "~7.0.0",
"expo-permissions": "^7.0.0",
"lodash": "^4.17.15",
"react": "16.8.3",
"react-dom": "16.8.3",
"react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
"react-native-elements": "^1.2.7",
"react-native-gesture-handler": "^1.3.0",
"react-native-image-picker": "^1.1.0",
"react-native-map-clustering": "^3.0.6",
"react-native-maps": "^0.26.1",
"react-native-paper": "^3.1.1",
"react-native-ratings": "^6.5.0",
"react-native-reanimated": "^1.2.0",
"react-native-web": "^0.11.7",
"react-navigation": "^4.0.10",
"react-navigation-stack": "^1.9.4",
"react-navigation-tabs": "^2.5.6"
},
"devDependencies": {
"babel-eslint": "^9.0.0",
"babel-preset-expo": "^7.0.0",
"eslint": "^5.16.0",
"eslint-config-airbnb": "^17.1.1",
"eslint-config-prettier": "^4.3.0",
"eslint-config-wesbos": "0.0.19",
"eslint-plugin-html": "^5.0.5",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-react": "^7.16.0",
"eslint-plugin-react-hooks": "^1.7.0",
"prettier": "^1.19.1"
},
"private": true
}
有人有什么想法吗?我完全一片空白 - 我已经在生产和开发中运行了 expo 的构建,我已经清除了 expo 缓存,我已经从我的设备中删除了该应用程序并再次加载 - 一切都无济于事。
所以我有一个“工作”应用程序,我无法分发它进行测试。帮助!!
另外 - 我不知道如何在 Testflight 上调试或访问博览会构建的应用程序的崩溃数据 - 再次感谢任何帮助。谢谢。
最佳答案
已解决:) - 将离开这里,以防万一其他人遇到此类问题,因为这个问题让我卡住了几天并构建。
我的问题是,我在一个也安装了 Mapview 的组件的 useEffect Hook 中请求用户位置。在 Mapview 中,我将 provider
属性设置为 google
。
如果您这样做,那么您必须在您的信息 plist 中添加一个 gogleMapApi 键。公平地说,Expo 确实在 MapView 文档中说明了这一点,但它位于底部,作为 Android 文档之后的旁白。在仔细查看我的日志几个小时后,我发现问题是 google api 错误,而不是权限位置错误,我意识到了我的问题和该线程的解决方案。
[https://forums.expo.io/t/how-to-set-googlemaps-with-gmsservices-provideapikey/17770][1]
希望这对某人有帮助!
关于ios - React Native Expo 应用程序在发布到 Testflight 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59156847/
尝试安装应用程序时。出现一个弹出窗口并显示:无法安装 {AppName}该应用程序无效,无法安装。再试一次。 最佳答案 Testflight 当前遇到服务器问题。 您可以在此处查看当前状态: http
是否可以在 TestFlight 上重命名 iOS 应用程序?我认为这是可能的唯一方法是删除应用程序(及其所有相关的构建)并添加一个新的。 最佳答案 这是一个老问题,但今天我们的一个应用程序提出了这个
所以我有两个应用程序成功提交用于 TestFlight Beta 测试(见下图)。 对于第一个,安装按预期进行。对于第二个应用程序,该应用程序在 90% 左右出现“停滞”。永远不会通过图像中显示的内容
我们有一个提交到应用商店的 channel ,它处理上传到应用商店的操作。我想将那些已经上传的构建提交给外部审查。 据我所知,appstore 和 tesflight 操作都希望有一个实际的 ipa
当我准备好通过 TestFlight 发送我的 IPA 时,我按预期到达了构建权限列表。这是具有用户名供您选择分发的屏幕。 其中一些名称是灰色的,我无法选择它们。我很确定他们在我的配置文件中并且我已经
我使用 TestFlight ( link ) 来传送 .ipa 文件。我的问题是 - 如何将我的 UDID 添加到我的团队?目前,当我转到人员并打开我的用户详细信息时,UDID 字段为空。 最佳答案
在 https://developer.apple.com/support/account/authentication/ 解释了新的苹果规则: In an effort to keep your a
将我的 iPhone 5 升级到 iOS 7 beta 后,似乎我必须将其重新连接到 Testflight。不幸的是,我无法安装配置文件: 选择“重新连接设备”、“安装配置文件”、“立即安装”后,警报
尝试使用 TF SDK 上传构建时我看到以下错误消息: Sorry, we are no longer accepting any new builds that use TestFlight SDK
我们都在摸不着头脑, 我们使用新的 testflight/itunes connect 并能够为内部用户提交构建。不知何故,它停止工作,并且在我们发布时它总是转到旧版本。 在预发布版中,我们看到所有版
在过去的几个月里,我的团队一直在使用 TestFlight 对新版本进行 Beta 测试。我今天收到一封关于 Apple 集成版 TestFlight 的电子邮件 1 . 将我的用户转移到新版本的最佳
我为我的新应用程序的售前部分列出了九个外部测试人员。当我上传新版本时,我希望能够仅向其中一些测试人员发送邀请,但是单击 Builds 下的“发送邀请”按钮会自动向所有测试人员发送邀请。有谁知道解决这个
我们开始使用 Fastlane用于自动化部署,这是一个非常令人印象深刻的工具集。 但有一个谜团:向 Apple 的 TestFlight 提交 BETA 版本时,如何传入 Demo Account 凭
我已按照 TestFlight 的说明复制“发布”配置。我还使用 TestFlight SDK 从我的应用程序获取实时报告。通过这样做,我必须在我的应用程序中包含一些 TestFlight 代码。当然
这document解释说可以将 TestFlight SDK 保留在 App Store 的生产版本中。 但他们正在谈论的 TestFlight Live 变成了一项名为 FlightPath 的新服
我已提交应用程序进行试飞。当我向该构建添加信息时,出现错误“抱歉,出了点问题”。 ITC.apps.tf.build.test.info.missing.feedback testflight 有人遇
这是我的场景: 我们最近为我们的新应用程序创建了一个 iTunes 应用程序记录,该记录尚未公开。因此,默认情况下,iTunes 会显示状态为“准备提交”的应用程序 (1.0)。 (我假设我们可以在应
我已经在 testflight 上有一个应用程序,版本号为 2.2.1,允许 3 个用户使用。 我现在创建了另一个带有一些细微更改的 IPA,并使用完全相同的版本号将相同的 IPA 上传到 testf
自从 Apple 迁移到他们新的和改进的 TestFlight 网站后,当我将新版本用于测试时,我的内部或外部用户都不会收到推送通知或电子邮件。 这些是以前每个新版本都会收到推送和电子邮件的测试人员。
为什么当我的所有崩溃日志都有一个testflight帐户并且我在测试飞行初始化中设置了uuid时,为什么所有崩溃日志都显示匿名用户? 在我的单例中: #define kTestFlightTest 1
我是一名优秀的程序员,十分优秀!