标签: ios13

iOS 13中的黑暗模式启动屏幕

我已经更新了iOS应用程序,使其可以在iOS 13上的黑暗模式下工作,但是在尝试使启动屏幕看起来不错时遇到了麻烦。

目前,它是带有应用程序徽标的明亮的白色屏幕,在黑暗模式下看起来很糟糕。我尝试将启动屏幕的背景色设置为我用“任何外观”为白色而“深色外观”为黑色制成的颜色资产-但是启动屏幕始终始终显示为白色。

有什么方法可以使我的启动屏幕在黑暗模式下正常工作?

storyboard ios ios13

15
推荐指数
5
解决办法
3299
查看次数

UIWindow不显示iOS 13中的内容

我正在升级应用程序以使用UISceneiOS 13中定义的新模式,但是该应用程序的关键部分已停止工作。我一直在使用a UIWindow来覆盖屏幕上的当前内容并向用户显示新信息,但是在我正在使用的当前Beta(iOS + XCode beta 3)中,该窗口会出现,但随后会立即消失。

这是我正在使用的代码,现在无法使用:

let window = UIWindow(frame: UIScreen.main.bounds)
let viewController = UIViewController()
viewController.view.backgroundColor = .clear
window.rootViewController = viewController
window.windowLevel = UIWindow.Level.statusBar + 1
window.makeKeyAndVisible()
viewController.present(self, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

我已经尝试了许多方法,包括使用WindowScenes来呈现新内容UIWindow,但是找不到任何实际的文档或示例。

我的尝试之一(没有用-窗口出现并立即消失的相同行为)

let windowScene = UIApplication.shared.connectedScenes.first
if let windowScene = windowScene as? UIWindowScene {
    let window = UIWindow(windowScene: windowScene)
    let viewController = UIViewController()
    viewController.view.backgroundColor = .clear
    window.rootViewController = viewController
    window.windowLevel = UIWindow.Level.statusBar + 1
    window.makeKeyAndVisible()
    viewController.present(self, animated: true, completion: …
Run Code Online (Sandbox Code Playgroud)

uiwindow ios swift ios13 uiscenedelegate

15
推荐指数
4
解决办法
7800
查看次数

在真实设备上使用 Apple 登录无法获取姓名和电子邮件

因此,我正在使用 Apple 实现登录,在模拟器上一切正常,我请求电子邮件、fullName 范围、身份验证 UI 显示,并且我可以获得数据,如下图所示:

在此处输入图片说明 在此处输入图片说明

但是在真实设备(iPadOS 13、iPad 2018)上进行测试时,UI 没有显示(它不会在 UI 上询问姓名和电子邮件),而且我无法从响应中获取电子邮件、fullName,并且我也可以确认authorizedScopes是空的,我只能得到用户标识符

在此处输入图片说明 在此处输入图片说明

我相信这是一个错误,会提交雷达,也在苹果开发者论坛上发表了讨论(但他们通常不会批准我的帖子,我不知道为什么)

如果这不是错误,有人可以告诉我如何解决这个问题吗?谢谢

xcode applet ios ios13

15
推荐指数
2
解决办法
1万
查看次数

在附件上滚动时,iOS 13.1 UITextView委托方法应该调用InterInteract

我正在使用UITextView委托方法来执行一些自定义工作,例如当用户点击URL或附件时打开应用内浏览器:

func textView(_ textView: UITextView,
                  shouldInteractWith URL: URL,
                  in characterRange: NSRange,
                  interaction: UITextItemInteraction) -> Bool
Run Code Online (Sandbox Code Playgroud)

在iOS 13中,即使用户只是在URL上滚动(这是不期望的),也会调用此委托方法。此行为也适用于图像附件。

现在通过交互调用该dele方法。

* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 6.1 7.1
  * frame #0: 0x0000000104a54c5c ProjectS1`PostListViewController.textView(textView=0x00000001090a4600, URL=Foundation.URL @ 0x000000016b5d1200, characterRange=location=161, length=9, interaction=invokeDefaultAction, self=0x0000000109b03990) at PostListViewController.swift:610:9
    frame #1: 0x0000000104a54d70 ProjectS1`@objc PostListViewController.textView(_:shouldInteractWith:in:interaction:) at <compiler-generated>:0
    frame #2: 0x00000001b3293eec UIKitCore`-[UITextView _allowInteraction:forTextInteractableItem:] + 212
    frame #3: 0x00000001b2602160 UIKitCore`-[_UITextInteractableItem _allowInteraction:] + 140
    frame #4: 0x00000001b2601f68 UIKitCore`-[_UITextInteractableItem canInvokeDefaultAction] + 100
    frame #5: 0x00000001b31dd528 UIKitCore`-[_UITextSimpleLinkInteraction _canBeginInteractionSessionForLinkAtPoint:asTap:] + …
Run Code Online (Sandbox Code Playgroud)

uitextview uitextviewdelegate swift ios13

15
推荐指数
2
解决办法
1121
查看次数

无法在 ios 13 上获取 APNS 设备令牌

我有与 APNS 设备令牌相关的问题。在我使用 Xcode 10.2 和 iOS 12.1 之前。此时我曾经在委托方法中获取设备令牌

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
Run Code Online (Sandbox Code Playgroud)

我正在像这样注册 APNS,它运行良好。

UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
    center.delegate = self;
    [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
                if(!error){
                    [[UIApplication sharedApplication] registerForRemoteNotifications];
                }
    }];
Run Code Online (Sandbox Code Playgroud)

现在,当将 iOS 13 安装到我的 iPhone 设备并使用 Xcode 11 时,不会调用委托方法 didRegisterForRemoteNotificationsWithDeviceToken。无法理解这个问题。我已经对此进行了研究,我知道从委托方法获取令牌有一些变化,但在我的情况下,委托方法甚至没有被调用。同样,它在 iOS 12 上运行良好。

apple-push-notifications ios13 xcode11

15
推荐指数
2
解决办法
1万
查看次数

如何在 iOS Objective-C 中集成“使用 Apple 登录”流程?

我想在我的 iOS 应用程序中集成“使用 Apple 登录”。我为此找到了很多代码示例,但都在 Swift 中,我需要 Objective-C。

objective-c ios ios13 apple-sign-in

15
推荐指数
1
解决办法
1万
查看次数

CNCopyCurrentNetworkInfo与iOS 13

Apple更改了有关iOS 13中WiFi的一些内容。如果要使用CNCopyCurrentNetworkInfo,则您的应用程序需要具有以下任一功能

  • 具有访问位置权限的应用
  • 您的应用是当前启用的VPN应用
  • 您的应用通过NEHotspotConfiguration配置了设备当前正在使用的WiFi网络

资料来源:WWDC 19会议713

我正在使用NEHotspotConfiguration配置网络,但这样做后无法再获取当前的SSID。

以下代码在iOS 12上运行良好:

/// retrieve the current SSID from a connected Wifi network  
private func retrieveCurrentSSID() -> String? {  
    let interfaces = CNCopySupportedInterfaces() as? [String]  
    let interface = interfaces?  
        .compactMap { [weak self] in self?.retrieveInterfaceInfo(from: $0) }  
        .first  

    return interface  
}  

/// Retrieve information about a specific network interface  
private func retrieveInterfaceInfo(from interface: String) -> String? {  
    guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as? [String: AnyObject],  
        let ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] …
Run Code Online (Sandbox Code Playgroud)

ios captivenetwork swift nehotspothelper ios13

14
推荐指数
1
解决办法
8574
查看次数

安装成功,但在设备Xcode 11上找不到应用程序

从Xcode 10切换到11之后,我无法在任何设备上安装我的应用

安装成功后启动时的错误提示:安装成功,但在设备上找不到应用程序。

详细说明:

无法找到已安装的应用程序域:com.apple.platform.iphoneos代码:-1恢复建议:安装成功,但在设备上找不到该应用程序。bundleId = myBundleId

-多次查找尝试后,已安装应用程序的数据库中不存在已安装应用程序。域:com.apple.platform.iphoneos

代号:-1

但是,一切在模拟器上都可以正常工作。我试图删除派生数据,清理项目,删除应用程序..

非常奇怪:将应用提交测试后,我可以下载它并且可以正常工作。但是,当我为Xcode构建新应用程序时,它将启动仅从tesflight下载的应用程序,而不是通过Xcode推送的版本。

ios13 xcode11

14
推荐指数
1
解决办法
3419
查看次数

iOS 13-如何登录应用内购买沙盒帐户?

为了使用iOS 13测试我的应用内购买,我已将其中一台测试设备更新为iOS 13.1 beta。

在iOS 12上,在我之前有一个特殊的Sandbox登录Settings/iTunes & App Store/Sandbox Account

但是,在更新到iOS 13之后,此部分丢失。我试图按照iOS 12上类似问题的答案中说明进行操作,但没有任何效果。我完全搁置了设备,并在Settings/iTunes & App Store和退出了Settings/Apple ID该设备,因此当前该设备未连接到任何帐户(真实帐户或沙箱)。至少据我所知。

我已使用Xcode 11 beta在设备上重新安装了我的应用程序,并尝试执行应用程序内购买。商店显示一个登录提示,表明这是一个沙盒购买。但是,提示仅要求输入密码,而不要求用户名或Apple ID。因此,我不知道在此应使用哪个帐户。

使用新创建的测试用户帐户的密码时,密码未知。我可以使用我的真实Apple ID帐户的密码,该密码在设备设置过程中使用过,但已断开连接。

那么,如何连接到iOS 13中的特定沙盒帐户?

in-app-purchase ios appstore-sandbox ios13

14
推荐指数
7
解决办法
1143
查看次数

Xcode 11在运行iPhone 13.1应用程序时崩溃

我今天更新了Xcode(Xcode 11.0),现在每次尝试在iPhone(iOS 13.1)上运行任何项目时它都崩溃。

已经尝试过:

  • 清除派生数据
  • 清理库缓存文件夹
  • 卸载xCode并从商店再次下载
  • 重新启动Mac
  • 重新启动iPhone
  • 重新连接iPhone低谷iTunes

奇怪的是Xcode活动没有显示“正在安装应用程序”阶段,它直接进入“在设备上运行应用程序”然后崩溃。在模拟器上运行可以正常工作。

已经在Apple论坛上进行了搜索,并将报告发送给了Apple,但也许我可以做些解决该问题的事情。

错误日志:

Process:               Xcode [873]
Path:                  /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:            com.apple.dt.Xcode
Version:               11.0 (14936)
Build Info:            IDEFrameworks-14936000000000000~3
App Item ID:           497799835
App External ID:       832762837
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Xcode [873]
User ID:               502

Date/Time:             2019-09-25 11:47:10.497 -0300
OS Version:            Mac OS X 10.14.6 (18G95)
Report Version:        12
Anonymous UUID:        XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX


Time Awake Since Boot: 550 seconds

System Integrity Protection: enabled

Crashed Thread:        16  Dispatch queue: …
Run Code Online (Sandbox Code Playgroud)

xcode ios13

14
推荐指数
1
解决办法
4211
查看次数