Questions tagged «ios»

iOS是在Apple iPhone,iPod touch和iPad上运行的移动操作系统。使用此标签[ios]来解决与iOS平台上的编程有关的问题。使用相关的标签[objective-c]和[swift]解决那些编程语言所特有的问题。

1
使用swizzling方法在所有UIViewController实例上一次更改iOS13上的modalPresentationStyle
[问与答] 是否可以UIViewController.modalPresentationStyle在iOS 13上全局更改值,使其表现得像在iOS 12(或更早版本)上一样? 为什么? 在iOS版SDK 13的默认值UIViewController.modalPresentationStyle属性已经从改变UIModalPresentationFullScreen到UIModalPresentationAutomatic是,据我所知,解决了UIModalPresentationPageSheet在iOS设备上,或者至少在iPhone上。 由于我已经工作了几年的项目变得非常庞大,因此在很多地方都提供了视图控制器。新的演示样式并不总是与我们的应用程序设计匹配,有时会导致UI崩溃。这就是为什么我们决定改UIViewController.modalPresentationStyle回UIModalPresentationFullScreen为iOS13 SDK之前的版本。 但是,viewController.modalPresentationStyle = UIModalPresentationFullScreen在调用presentViewController:animated:completion:控制器的每个位置进行调用之前添加似乎太过分了。而且,那时我们还有更严重的事情要处理,这就是为什么暂时或至少在我们更新设计并解决所有UI问题之前,我们决定采用方法混淆方法的原因。 我的答案中给出了有效的解决方案,但是希望您能收到任何反馈,告诉我这种方法可能带来的不利影响或后果。
11 ios  objective-c  swift  ios13 

2
在iOS 13中未调用application(... continue userActivity ...)方法
嗨,我正在使用UniversalLink制作ios应用。 Universal Link可以正常工作,但是不调用回调方法。 我的AppDelegate.swift在下面。 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool …
11 ios  swift  ios13 


5
当应用程序在后台运行时,iOS 13.3中未调用didReceiveRemoteNotification
我在敲头。我正在实施推送通知。一切正常(接收到推送,更新了徽章),但是在iOS 13.3下,当应用程序在后台运行时,不会调用application(_:didReceiveRemoteNotification:fetchCompletionHandler :)方法。如果应用程序在前台或使用iOS 12设备,则将调用该方法。我通过以下方式注册推送通知: [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) { if (granted) { dispatch_async(dispatch_get_main_queue(), ^{ [[UIApplication sharedApplication] registerForRemoteNotifications]; }); } }]; 有效负载设置为以下 {"aps": { "badge": 10, "alert": "test", "content-available": 1 }} 我尝试在所有变体中添加“远程通知”和“背景处理”作为应用程序功能(仅“远程通知” /“背景处理”,而没有其中的任何一项功能,同时启用了这两项),而没有进行任何更改。我为UNUserNotificationCenter设置了委托,但是再次失败了。我相应地设置标题: curl -v \ -H 'apns-priority: 4' \ -H 'apns-topic: …

3
找不到Flutter构建失败的'UserAgent.h'文件
项目无法使用firebase_crashlytics构建或调试。在我的Mac中,我已将最新版本更新为Flutter,但我们正在部署该应用程序的计算机的版本较低(Flutter 1.9.1 hotfix-5)。所以我尝试了以下事情: flutter pub cache repair flutter clean 删除Podfile.lock和 ios/pod install 但是没有运气。 #import "UserAgent.h" ^~~~~~~~~~~~~ 1 error generated. 有没有暂时不升级抖动的解决方案?

1
尝试重新访问SwiftUI中先前单击的NavigationLink时,NavigationLink冻结
我正在设计一个应用程序,该应用程序包括检索JSON数据并在FileBrowser类型视图中显示检索到的项目的列表的功能。在此视图中,用户应该能够单击文件夹以更深入地进入文件树,或者单击文件以查看有关该文件的一些元数据。 我观察到,在这种情况下,当我单击文件或文件夹然后再次单击并单击它时,不会触发NavigationLink,并且在单击其他导航链接之前,我一直停留在视图上。 这是展示此问题的gif文件。 如此处所示,当我单击BlahBlah时,我正在激活NavigationLink并转到BlahBlah,然后当我向后导航并尝试重新导航至BlahBlah时,它变成灰色,表明我单击了它……但从未将我带到那里。单击TestFile可以解决此问题,并允许我导航回BlahBlah。 列表项由以下结构组成 private struct FileCell{ var FileName: String var FileType: String var FileID: String = "" var isContainer: Bool } private struct constructedCell: View{ var FileType: String var FileName: String var FileID: String var body: some View { return HStack{ VStack(alignment: .center){ Image(systemName: getImage(FileType: FileType)).font(.title).frame(width: 50) } …

1
CoreData和SwiftUI:环境中的上下文未连接到持久性存储协调器
我正在尝试通过构建一个作业管理应用程序来自学核心数据。我的代码构建良好,并且该应用程序可以正常运行,直到我尝试向列表中添加新任务。我Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1c25719e8)在以下行中收到此错误:ForEach(courses, id: \.self) { course in。控制台也有此错误:Context in environment is not connected to a persistent store coordinator: <NSManagedObjectContext: 0x2823cb3a0>。 我对Core Data知之甚少,对可能的问题不知所措。我已经在数据模型中设置了“任务”和“课程”实体,其中Course与“任务”具有一对多关系。每个作业将根据特定课程进行分类。 这是用于向列表添加新分配的视图的代码: struct NewAssignmentView: View { @Environment(\.presentationMode) var presentationMode @Environment(\.managedObjectContext) var moc @FetchRequest(entity: Course.entity(), sortDescriptors: []) var courses: FetchedResults<Course> @State var name = "" @State var hasDueDate …

4
适用于iPhone的MacOS Catalina UDID复制
如何复制iPhone的UDID? 我想在Apple商店帐户中将iPhone注册为测试仪。因此,请按照上述图片中的步骤进行操作。 但是没有办法复制UDID和直接复制选项,我只能得到一半的UDID。请检查下图: 如何以文本形式获取完整的UDID副本?所以我可以粘贴到Apple商店帐户。

1
Ionic iOS 13.2 Bug,应用程序崩溃-kill()返回了意外错误
我认为Ionic在iOS中有一个巨大的错误。我收到以下错误消息: 2019-11-06 12:09:31.560205+0100 MyApp[6687:1400464] [Process] kill() returned unexpected error 1 2019-11-06 12:09:31.560562+0100 MyApp[6687:1400464] [Process] kill() returned unexpected error 1 2019-11-06 12:09:31.660322+0100 MyApp[6687:1400464] [Process] kill() returned unexpected error 1 2019-11-06 12:09:31.660699+0100 MyApp[6687:1400464] [Process] kill() returned unexpected error 1 2019-11-06 12:09:31.765716+0100 MyApp[6687:1400464] [Process] kill() returned unexpected error 1 2019-11-06 12:09:31.767176+0100 MyApp[6687:1400464] [Process] …

3
iOS 13 TestFlight不报告崩溃,仅feedback.json
借助iOS 13的新功能来报告TestFlight构建的崩溃,在某些应用程序上,我遇到了一个问题,该问题仅feedback.json在没有实际崩溃报告的情况下才报告。有什么要启用的吗? 值得一提的是,崩溃技术已启用且未报告任何崩溃。 更新:因此,经过一些调查,我发现没有崩溃日志的报告是系统终止。就我而言,当我从手机中提取设备日志时0xbadf000d,其含义之一是系统在后台终止了一个漫长的过程。似乎它总是存在,但是有了iOS13 Testflight反馈,它在弹出窗口中变得可见。 麻烦的是,来自Xcode“设备和模拟器”的日志与直接在电话上的日志不同步。 总结:面对需要手动模拟崩溃报告的需求,因此发现超级有用的stackoferlow帖子:https ://stackoverflow.com/a/45207863/3032917

5
即使添加了SceneDelegate并更新了Info.plist之后,Xcode 11黑屏上的iOS13
我目前正在使用Xcode 11,Target iOS 13.0进入黑屏状态(该应用程序在所有低于iOS 12.1至12.4的版本中均能正常工作),我想让我的应用程序可同时用于12.1以上的iOS用户和13.0的用户,尽管将以下SceneDelegate添加到我现有的项目中, 添加App Manifest文件 import UIKit import SwiftUI @available(iOS 13.0, *) class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { //guard let _ = (scene as? UIWindowScene) else { return } let user = UserDefaults.standard.object(forKey: "defaultsuserid") let …

2
如何防止iOS 13黑暗模式破坏电子邮件
我们有一个电子商务应用程序,当您进行购买时,该应用程序会发送订单详细信息,而我们只是重新设计了该电子邮件模板。在过去几天中,我们收到了一些客户报告,其中电子邮件中的一半文本丢失。 最终获得屏幕截图后,我们了解到问题是在使用暗模式的iPhone上发生的。到目前为止,他们都是通过Mail应用程序或Safari使用gmail的客户(两者都有相同的问题)。我不确定gmail因素是否相关或偶然。 我们的电子邮件很简单-它具有白色背景,灰色标题和黑色正文。深色模式使白色背景和灰色标题保持不变,但是正文文本从黑色更改为白色。在白色背景上,白色文本显然是不可见的,并且电子邮件看起来缺少大量内容。 有什么措施可以防止黑暗模式将我们的文本从黑色变成白色? 我应该注意,我们的电子邮件中还嵌入了QR码,因此,我担心的解决方案将使深色模式继续为我们的完整电子邮件重新着色,因为我认为这将使QR码难以识别。 编辑:这与任何应用程序代码均不相关,因此不适用针对黑暗模式开发iOS的准则。这仅是iOS 13上处于黑暗模式下的Apple邮件应用如何显示HTML电子邮件的问题。
10 ios  css  email  gmail  ios-darkmode 

1
使用自定义按钮扩展SwiftUI键盘
我正在尝试找到一种将键或按钮添加到SwiftUI数字键盘的方法。我发现的唯一参考资料说这是不可能的。在Swift世界中,我添加了一个带有按钮的工具栏,以关闭键盘或执行其他功能。 我什至会用顶部的按钮构建一个ZStack视图,但是我找不到将numberPad添加到我自己的视图中的方法。 在这种情况下,我真正想做的就是在输入数据时关闭numberPad。我首先尝试将SceneDelegate修改为在点击时关闭,但是仅当我在另一个文本或文本字段视图中而不是在视图的开放空间中单击时,此方法才起作用。 window.rootViewController = UIHostingController(rootView: contentView.onTapGesture { window.endEditing(true) }) 理想情况下,我会将“完成”键添加到左下角。其次,如果可以在SwiftUI中完成,则添加一个工具栏。 任何指导将不胜感激。 Xcode版本11.2.1(11B500)
10 ios  xcode  keyboard  swiftui 

1
带有块作用域的Javascript默认参数仅在iOS上失败
try { const val = 'correct value'; (() => { ((arg = val) => { const val = 'ignored value'; alert(arg); })(); })(); } catch (err) { alert(err.message || 'Unknown error'); } 运行代码段隐藏结果展开摘要 在OS X Chrome,OS X Safari,Android Chrome,Windows Chrome,Windows Firefox 甚至 Windows Edge上,它会警告“正确值”。在iOS Safari和iOS Chrome上,它会提示“找不到变量:val”。 以下代码段均适用于iOS: 不使用默认参数(代码段2): try { …

1
WhatsApp Web客户端如何与最新的iOS更新(SDK版本13.0+)一起使用?
因此,暗模式支持已添加到WhatsApp客户端的2.20.31版本(于2020年3月发布)中。这是仅限iOS 13的功能,从外观上看,它似乎是完全本机的实现。我认为可以安全地假定该应用程序现在已使用iOS SDK 13.0或更高版本进行编译。 事实是,从iOS 13开始,Apple现在要求每当收到VoIP通知时都显示本机呼叫屏幕 -否则,该应用程序将不再接收任何其他VoIP通知。在iOS的早期版本中,某些应用程序(包括WhatsApp)似乎在用户尝试使用Web客户端时使用“虚假”传入的VoIP呼叫在后台静默唤醒该应用程序,以便后者可以直接连接并交换数据用电话。 但是,从最新版本开始,尽管Apple引入了限制,但Web客户端仍然可以像以前一样工作。使用调试器,每当用户在PC上打开Web客户端时,都可以观察到iOS应用程序正在唤醒,但从未显示任何呼叫屏幕。可以重复进行此操作,并可以根据需要多次进行。 来自WhatsApp的日志似乎可以确认上面的内容: default 17:09:44.515731+0000 callservicesd Call source <CXXPCCallSource 0x111ecb0a0 identifier=UKFA9XBX6K.net.whatsapp.WhatsApp isConnected=1 processIdentifier=417 isPermittedToUsePublicAPI=1 isPermittedToUsePrivateAPI=0> registered with configuration <CXProviderConfiguration 0x111e9bb40 localizedName=‎WhatsApp ringtoneSoundURL=(null) iconTemplateImageData=0x0 maximumCallGroups=1 maximumCallsPerCallGroup=1 supportsAudioOnly=1 supportsVideo=1 supportsEmergency=0 supportsVoicemail=0 supportsCurrentPlatform=1 includesCallsInRecents=1 audioSessionID=1151157 supportedHandleTypes=2> 如果我们尝试使用我们的应用程序执行此操作,则结果会大不相同: error 18:56:19.949023+0000 callservicesd Killing VoIP app com.xxxxx.xxxxx.xxxxx because it failed …
9 ios  whatsapp  pushkit 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.