不存在的应用程序的设置方法

时间:2019-04-07 21:56:50

标签: ios swift settings

我的应用程序需要访问用户的媒体库。我的问题与以下情况有关:

  1. 此应用程序不存在“ iOS设置”条目。
  2. 用户按下链接以启动Apple的媒体选择器。
  3. 我弹出Apple的“媒体库访问授权”对话框MPMediaLibrary.requestAuthorization()
  4. 用户按下“不允许”
  5. 用户再次按下链接以启动Apple的媒体选择器。
  6. 我弹出一个警报对话框,解释问题并提供打开应用程序iOS设置的按钮。

    UIApplication.shared.open(URL(string:UIApplicationOpenSettingsURLString)!)
    

只要未打开iOS设置应用/屏幕,此方法就可以正常工作。 iOS设置应用程序启动并打开我的应用程序新创建的设置。

如果iOS设置应用/屏幕处于打开状态(不是我的应用,只是在某个地方打开),则iOS设置应用会显示并定位在原位置。不是我想要的 如果我切换回我的应用程序,弹出对话框,然后再次打开打开URL,则会为我的应用程序打开iOS设置。

这是正常行为吗?我该如何纠正?

Stackoverflow很好地呈现了现有问题的链接,这些问题可能是我正在寻找的答案,但没有成功。


我的应用设置问题仍然困扰我。进一步的测试发现了一个相关的问题。与设置一样,我的应用程序图标也不会出现。两个问题似乎都可以通过第二次安装解决。我以为通过在应用程序图标上提供详细信息,可能有人会看到问题。

Mac Mini
莫哈韦河10.14.4
Xcode 10.2
Xcode-项目-IOS部署目标= 11.0
Xcode-目标-部署目标= 12.1
Xcode-Swift v5

物理设备:
    -iPhone 6plus ios 12.1.3
    -iPhone X iOS 12.1.4

行为:

- installation on Xcode Simulator results in:
    * icon appears as it should with initial installation.(multiple devices tested)  

- installation on physical devices by Xcode side-loading via debugger results in:
    * after initial installation, icon is missing. 
    * app runs as expected.
    * ios settings entry exists.
    * ios iPhone storage entry exists.
    * 2nd debug run, icon appears. (2nd run can be immediate or after device disconnected/reconnected or Xcode restarted)  

- installation of ipa on physical devices by Xcode -> Window -> Devices & Simulators results in:
    * after initial installation, icon is missing.
    * (of course app cannot be run without icon)
    * ios settings entry exists.
    * ios iPhone storage entry exists.
    * 2nd ipa installation, icon appears. (2nd run can be immediate or after device disconnected/reconnected or Xcode restarted)

注意:我已经通过几种不同的工具重新创建并重新生成了我的图标。行为无变化。

注意::我已经从GitHub下载了几个简单的技术演示Xcode项目。 它们不包含任何图标。他们依靠ios默认图标。与我的应用相同。

任何见解或直截了当的猜测将不胜感激。

1 个答案:

答案 0 :(得分:0)

它的价值.....我将该应用程序提交给Apple进行审查。它已获批准,已在应用商店(Song Announcer)上发布。通过Xcode在我的设备上安装时,我上传到App Store Connect的ipa表现出相同的“初次安装时没有应用程序图标”行为。从App Store下载后,该图标将按预期显示。

去吧。