我一直在努力验证照片库访问的目的字符串是否真的像预期的那样工作。它从应用程序被拒绝开始,因为它没有设置。
使用expo图像选择器,它在文档中表示,将其添加到app.json中的插件部分应该设置NSPhotoLibraryUsageDescription:
[
"expo-image-picker",
{
"photosPermission": "This allows you to upload a photo to your Appname profile."
}
]在添加之前,我基本上将NSPhotoLibraryUsageDescription添加到app.json的ios部分中的plist键中。我能看到的是,两个人都在做同样的事情。
在使用expo build:ios构建ios之后,我能够验证字符串是否存在于Info.plist文件中:
<key>NSPhotoLibraryUsageDescription</key>
<string>This allows you to upload a photo to your Appname profile.</string>使用世博Go并没有真正的帮助,因为当请求许可时,它会在警戒线上注明“世博围棋”。
而且,我只拥有使用世博/ and本地版的经验,并且无法访问mac (或xcode)。
当苹果测试它时,它看起来像这样(根据他们的截图):

预期案文应为:
这允许您上传照片到您的Appname配置文件。
如何在向App提交应用程序之前验证目的字符串是否真正设置(和工作)?
发布于 2022-04-20 17:48:44
我的解决方案:
首先,我为EAS构建设置了我的应用程序。如果您对此不熟悉,则应该查看docs:https://docs.expo.dev/build/introduction/
基本上你这样做:
安装eas-cli:npm install -g eas-cli
eas build:configure来初始化eas.config file.

我折叠了submit块以隐藏我的凭据。对不起,这张照片不是代码/文本。格式化者总是搞砸它。
无论如何,使用eas build -p ios --profile development触发构建。注意,模拟器标志设置为true。这将允许您在模拟器中以独立二进制的形式运行此操作。
构建完成后,转到expo.io并登录到您的帐户。单击项目并下载ios构建的二进制文件(在builds选项卡下)。解压缩二进制文件并将其拖到模拟器中。您可能会收到一条消息,提示您需要启动开发服务器。只要按照这些简单的指示,你就可以了。您将能够查看您的NSPhotoLibraryUsageDescription字符串是否已更新。
诚然,这可能是一个痛苦的(在这里插入驴子表情-仍然没有一个苹果.)您可以在世博环境之外执行,但它解决了这样的问题,即在再次投递到商店之前,您的字符串是否已经更新。
祝你好运。希望这能有所帮助。
https://stackoverflow.com/questions/70379858
复制相似问题