我已经更新了iOS应用程序,使其可以在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) 因此,我正在使用 Apple 实现登录,在模拟器上一切正常,我请求电子邮件、fullName 范围、身份验证 UI 显示,并且我可以获得数据,如下图所示:
但是在真实设备(iPadOS 13、iPad 2018)上进行测试时,UI 没有显示(它不会在 UI 上询问姓名和电子邮件),而且我无法从响应中获取电子邮件、fullName,并且我也可以确认authorizedScopes是空的,我只能得到用户标识符
我相信这是一个错误,会提交雷达,也在苹果开发者论坛上发表了讨论(但他们通常不会批准我的帖子,我不知道为什么)
如果这不是错误,有人可以告诉我如何解决这个问题吗?谢谢
我正在使用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) 我有与 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 上运行良好。
我想在我的 iOS 应用程序中集成“使用 Apple 登录”。我为此找到了很多代码示例,但都在 Swift 中,我需要 Objective-C。
Apple更改了有关iOS 13中WiFi的一些内容。如果要使用CNCopyCurrentNetworkInfo,则您的应用程序需要具有以下任一功能
资料来源: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) 从Xcode 10切换到11之后,我无法在任何设备上安装我的应用
安装成功后启动时的错误提示:安装成功,但在设备上找不到应用程序。
详细说明:
无法找到已安装的应用程序域:com.apple.platform.iphoneos代码:-1恢复建议:安装成功,但在设备上找不到该应用程序。bundleId = myBundleId
-多次查找尝试后,已安装应用程序的数据库中不存在已安装应用程序。域:com.apple.platform.iphoneos
但是,一切在模拟器上都可以正常工作。我试图删除派生数据,清理项目,删除应用程序..
非常奇怪:将应用提交测试后,我可以下载它并且可以正常工作。但是,当我为Xcode构建新应用程序时,它将启动仅从tesflight下载的应用程序,而不是通过Xcode推送的版本。
为了使用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中的特定沙盒帐户?
我今天更新了Xcode(Xcode 11.0),现在每次尝试在iPhone(iOS 13.1)上运行任何项目时它都崩溃。
已经尝试过:
奇怪的是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) ios13 ×10
ios ×6
swift ×3
xcode ×2
xcode11 ×2
applet ×1
objective-c ×1
storyboard ×1
uitextview ×1
uiwindow ×1