Questions tagged «swift»

Swift是Apple Inc.针对其平台和Linux开发的一种安全,快速且具有表现力的通用编程语言。Swift是开源的。仅将标记用于有关语言功能或在Swift中需要代码的问题。将标签[ios],[ipados],[macos],[watch-os],[tvos],[cocoa-touch]和[cocoa]用于有关平台或框架的(语言不可知)问题。

4
如何检查用户设备上是否安装了Apple Music?
我正在快速制作音乐应用。该应用程序允许用户通过其Apple Music应用程序通过其Apple Music订阅播放音乐。我可以通过以下方式检查用户是否有Apple Music订阅: SKCloudServiceController().requestCapabilities { (capability:SKCloudServiceCapability, err:Error?) in guard err == nil else { print("error in capability check is \(err!)") return } if capability.contains(SKCloudServiceCapability.musicCatalogPlayback) { print("user has Apple Music subscription") } if capability.contains(SKCloudServiceCapability.musicCatalogSubscriptionEligible) { print("user does not have subscription") } } 然而:在某些情况下,某些人会由于某种原因而订阅了Apple Music,但没有在设备上下载Apple Music应用。如果用户拥有订阅但没有设备,那么我想实质上将这种情况视为他们根本没有订阅,即我们无法通过Apple Music播放音乐。 因此,我一直在寻找添加检查Apple Music是否在用户设备上的方法。我找到了这个答案:检查是否使用Swift结合此资源安装了应用程序,以查找Apple Music的url方案,并得出结论,我可以通过以下方式检查用户是否同时在其设备上安装了Apple Music订阅和 …

1
如何在SwiftUI中配置ContextMenu按钮以进行删除和禁用?
我尝试在中配置按钮contextMenu,但无法正常工作。 Text("A label that have context menu") .contextMenu { Button(action: { // remove it }) { Text("Remove") .foregroundColor(.red) // Not working Image(systemName: "trash") }.disabled(true) // Not working } 我有的: 我要的是:(删除和通话按钮) 我会在其中创建一个UIAction类似以下内容的文件,UIKit但找不到任何修饰符或将其带到SwiftUI的方法: let delete = UIAction(title: "Remove", image: UIImage(systemName: "trash"), attributes: .destructive) { action in // remove it }

1
更新到Xcode 11 Swift 5.1后的Google AdMob错误
由于我已更新到Xcode 11,因此我的应用中的插页式广告将不再加载。(在一切正常之前。该应用程序甚至已在App Store上发布。我们现在正在创建该应用程序的更新版本) 我通过Cocoapods安装了Google AdMobs SDK,并将其更新为最新版本。仍然没有成功。(我遵循了Google教程的所有步骤,即如何实施插页式广告。)以下是我从控制台收到的错误消息: 2019-10-10 21:42:35.543249+0100 BuszZer[76592:876619] <Google> To get test ads on this device, set: request.testDevices = @[ kGADSimulatorID ]; 2019-10-10 21:42:35.599222+0100 BuszZer[76592:876796] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service on …

1
工具栏中带有分段控件的macOS SwiftUI应用选项卡视图
我正在尝试使用SwiftUI创建一个macOS应用程序。我需要一个TabView或类似的东西,但是当我使用TabView分段控件时,它不在macOS工具栏中。单击此处查看我想要的示例 我当前的代码是: import SwiftUI struct ContentView: View { var body: some View { TabView { Text("1") .tabItem { Text("1") } } } } 结果在这里作为图像 分段控件需要在工具栏而不是视图中。 谢谢。
9 swift  xcode  macos  swiftui 

1
如何在Xcode中调试“前提条件失败”?
我在Xcode 11上构建了SwiftUI应用程序,但是当我切换到应用程序中的特定选项卡时,它立即终止。 问题是,它始终指向Application Delegate文件,我认为这并不是真正的问题。我还在控制台中收到此错误,仅此precondition failure: invalid input index: 2而已,没有更多有关此错误来自何文件,数组或函数的更多详细信息。 Xcode中是否可以隔离导致此问题的任何方法?

1
如何在Swift的绑定中解开可选值?
我正在使用SwiftUI构建应用,并希望将a转换Binding<Value?>为Binding<Value>。 在我的应用程序中,我有一个AvatarView,它知道如何为特定用户渲染图像。 struct AvatarView: View { @Binding var userData: UserData ... } 我的应用程序拥有一个ContentView拥有两个绑定的:一个ID用户字典,以及我们应显示其头像的用户ID。 struct ContentView: View { @State var userById: Dictionary<Int, UserData> @State var activeUserId: Int var body: some View { AvatarView(userData: $userById[activeUserId]) } } 问题:上面的代码没有合并,因为$userById[activeUserId]它是类型的,Binding<UserData?>并且AvatarView包含一个Binding<UserData>。 我尝试过的事情 $userById[activeUserId]!不起作用,因为它正在尝试打开Binding<UserData?>。您只能解开一个Optional,而不能解开一个Binding<Optional>。 $(userById[activeUserId]!)由于我尚不了解的原因而无法正常工作,但是我认为有关$问题在编译时已解决,因此您似乎无法在任意表达式前添加前缀$。
9 ios  swift  swiftui  combine 

1
-[UIThreadSafeNode canPerformAction:withSender:]:无法识别的选择器已发送到实例
我在我的iOS应用中遇到了崩溃。 Fatal Exception: NSInvalidArgumentException 0 CoreFoundation 0x1b9079c30 __exceptionPreprocess 1 libobjc.A.dylib 0x1b8d940c8 objc_exception_throw 2 CoreFoundation 0x1b8f77fc0 -[NSOrderedSet initWithSet:copyItems:] 3 CoreFoundation 0x1b907e3d4 ___forwarding___ 4 CoreFoundation 0x1b9080570 _CF_forwarding_prep_0 5 UIKitCore 0x1bcf33444 -[UIKeyboardImpl deleteForwardAndNotify:] 6 UIKitCore 0x1bcf39154 __57-[UIKeyboardImpl acceptPredictiveInput:executionContext:]_block_invoke 7 UIKitCore 0x1bcf5b0c8 -[UIKeyboardTaskExecutionContext returnExecutionToParentWithInfo:] 8 UIKitCore 0x1bcf366ec __100-[UIKeyboardImpl addWordTerminator:afterSpace:afterAcceptingCandidate:elapsedTime:executionContext:]_block_invoke 9 UIKitCore 0x1bcf5b0c8 -[UIKeyboardTaskExecutionContext returnExecutionToParentWithInfo:] …

2
如何在SwiftUI中返回与UIKit中相同的行为(interactivePopGestureRecognizer)
交互式弹出手势识别器应允许用户在滑动超过屏幕的一半(或这些行周围的内容)时返回导航堆栈中的上一个视图。在SwiftUI中,如果滑动距离不够远,手势不会被取消。 SwiftUI: https ://imgur.com/xxVnhY7 UIKit: https ://imgur.com/f6WBUne 题: 使用SwiftUI视图时能否获得UIKit行为? 尝试次数 我试图将UIHostingController嵌入UINavigationController内,但其行为与NavigationView完全相同。 struct ContentView: View { var body: some View { UIKitNavigationView { VStack { NavigationLink(destination: Text("Detail")) { Text("SwiftUI") } }.navigationBarTitle("SwiftUI", displayMode: .inline) }.edgesIgnoringSafeArea(.top) } } struct UIKitNavigationView<Content: View>: UIViewControllerRepresentable { var content: () -> Content init(@ViewBuilder content: @escaping () -> …
9 ios  swift  swiftui 

1
可折叠节:[Assert]无法为preReloadFirstVisibleRow(0)确定新的全局行索引
我正在UITableViewController中实现可折叠的节标题。 这是我确定每个部分要显示多少行的方法: override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.sections[section].isCollapsed ? 0 : self.sections[section].items.count } 有一个结构,其中包含用于“ isCollapsed”的部分信息。 这是我如何切换他们的状态: private func getSectionsNeedReload(_ section: Int) -> [Int] { var sectionsToReload: [Int] = [section] let toggleSelectedSection = !sections[section].isCollapsed // Toggle collapse self.sections[section].isCollapsed = toggleSelectedSection if self.previouslyOpenSection != -1 …

1
如何使CRL和OSCP检查在iOS上运行?
我无法在iOS上使用CRL。我创建了两个测试用例。我有由CA颁发的有效证书。我有由CA颁发的另一个有效证书,但是CA已将该证书添加到其CRL中。 然后,我设置了一个启用CRL检查并要求成功的吊销策略。 func crlValidationTest(trustedCert: SecCertificate, certToVerify: SecCertificate) -> Bool { let basicPolicy = SecPolicyCreateBasicX509() let crlPolicy = SecPolicyCreateRevocation(kSecRevocationOCSPMethod | kSecRevocationCRLMethod | kSecRevocationRequirePositiveResponse)! var trust: SecTrust? SecTrustCreateWithCertificates(NSArray(object: certToVerify), NSArray(objects: basicPolicy, crlPolicy), &trust) SecTrustSetAnchorCertificates(trust!, NSArray(object: trustedCert)) SecTrustSetNetworkFetchAllowed(trust!, true) var trustResult = SecTrustResultType.invalid guard SecTrustEvaluate(trust!, &trustResult) == errSecSuccess else { return false } …
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.