Ios expo bare工作流上的推送通知:getExpoPushTokenAsync未解析
我很难让expo通知在几个弹出的应用程序中使用裸工作流。在进行故障排除时,我使用一个新的、干净的项目测试了设置–以下是我采取的步骤:Ios expo bare工作流上的推送通知:getExpoPushTokenAsync未解析,ios,react-native,expo,Ios,React Native,Expo,我很难让expo通知在几个弹出的应用程序中使用裸工作流。在进行故障排除时,我使用一个新的、干净的项目测试了设置–以下是我采取的步骤: 使用npx react native init MyApp创建应用程序,并启动它以确认基本设置 已安装的Unimodules() npm安装反应本机unimodules npx吊舱安装 已复制iOS的配置 已安装博览会通知() 在expo属性下的app.json中添加了slug和ios.bundleIdentifier 在这些步骤之后,我发布了一次app()
npm安装反应本机unimodules
npx吊舱安装
- 已复制iOS的配置
Push Notifications Key - Key ID: M9DFYLY3Q6
Apple Team ID: MAMAYY5H8H, Apple Team Name: entrecode GmbH (Company/Organization)
not used by any apps
我不知道为什么它会说“不被任何应用程序使用”。有没有人有过类似的问题,知道如何解决?这甚至是裸机应用程序的问题吗
总之,在我的App.js中,我添加了:
异步函数寄存器forpushNotificationsAsync(){
让代币;
if(常量.isDevice){
log('get push permission');
const{status:existingStatus}=wait Permissions.getAsync(Permissions.NOTIFICATIONS);
设finalStatus=existingStatus;
如果(existingStatus!=“已授予”){
log(`ask push permission:${existingStatus}`);
const{status}=wait Permissions.askAsync(Permissions.NOTIFICATIONS).catch((err)=>{
错误(`ask权限中的错误:${err.message}`);
犯错误;
});
最终状态=状态;
}
如果(最终状态!==‘已授予’){
警报('无法获取推送通知的推送令牌!');
返回;
}
//等待通知。requestPermissionsAsync();
console.log('get expo push token');
令牌=(
等待通知。getExpoPushTokenAsync({
经验ID,
发展:对,,
}).catch((错误)=>{
错误(`get expo令牌中的错误:${err.message}`);
犯错误;
})
).数据;
console.log(令牌);
}否则{
警报(“必须使用物理设备进行推送通知”);
}
如果(Platform.OS==='android'){
Notifications.setNotificationChannelAsync('default'{
名称:“默认值”,
重要性:Notifications.AndroidImportance.MAX,
振动模式:[0,250,250,250],
浅色:“#FF231F7C”,
});
}
返回令牌;
}
我现在面临的问题是通知。getExpoPushTokenAsync()
(我测试了它是否带有开发标志)在我的iOS设备上授予推送权限后,它在控制台.log(“获取expo推送令牌”)之后停止代码>。它既不坚决也不拒绝。我在世博会论坛上找到的其他解决方案对我不起作用
如果这很重要:我正在使用通过电缆连接的物理设备,并使用Xcode启动应用程序
是否有人做到了这一点,并可以分享成功集成的一些细节
最好的,
康