如果 ContentView 引用外部对象,则“ContentView_Previews”不会编译。
如果我删除对@ObservedObject 的所有引用,则预览编译。
import SwiftUI
struct ContentView: View {
@ObservedObject var fancyTimer = FancyTimer()
var body: some View {
Text("\(fancyTimer.timerValue)")
.font(.largeTitle)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
import Foundation
import SwiftUI
import Combine
class FancyTimer: ObservableObject {
@Published var timerValue: Int = 0
init() {
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true)
{ timer in
self.timerValue += 1
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误是:“ContentView”不是“FancyTimer”的成员类型
在以前版本的 swift 中,您在 ViewController 中创建一个 AVCaptureVideoPreviewLayer 并使用 view.layer.addSublayer(previewLayer) 将其添加到默认视图。
这是如何在 SwiftUI ContentView 中完成的?SwiftUI 中的所有视图类型似乎都没有 addSublayer。没有 Text("Hello World").layer.addSublayer....
我曾尝试将 previewLayer 添加到 ContentView 中的各种视图
import Foundation
import AVFoundation
import Combine
import SwiftUI
class Scanner: NSObject, AVCaptureMetadataOutputObjectsDelegate, ObservableObject {
@Published var captureSession: AVCaptureSession!
@Published var previewLayer: AVCaptureVideoPreviewLayer!
@Published var previewView: UIView
override init() {
captureSession = AVCaptureSession()
previewLayer = nil
//previewView = UIView()
super.init()
guard let videoCaptureDevice = AVCaptureDevice.default(for: .video) else { return }
let videoInput: AVCaptureDeviceInput
do {
videoInput = try AVCaptureDeviceInput(device: …Run Code Online (Sandbox Code Playgroud) 有谁知道 App Store 何时开始要求在物理设备上进行应用程序预览并显示此弹出窗口?
即使我将 iPhone Xs 镜像到我的 Mac,也不会显示弹出窗口。如果视频上没有弹出窗口,应用商店将拒绝应用预览。
有人知道解决这个问题的更好方法吗?
另一个显示问题的图像:
我需要能够在java适配器中获取用户登录用户ID /密码.阅读了很多文章之后,最好的方式就是打电话
WL.Server.getActiveUser来自从java适配器调用的javascript函数.所以,我在http适配器上添加了一个getIdentity函数来验证我们的应用程序.我已经验证了getActiveUser在登录页面调用的身份验证功能中工作...
当我调用getIdentity函数时,getActiveUser使用相同的身份验证领域返回null.我在application_descriptor文件中设置了域.不知道我还有什么要做的.有任何想法吗?
function performAuthentication(username, password) {
WL.Logger.info("In performAuthentication: username = " + username + " password = " + password + "Time = " + new Date(new Date().getTime()).toLocaleString());
var invocationData = {
adapter : 'BluePages',
procedure : 'authenticate',
parameters : [username, password]
};
var invocationResult = WL.Server.invokeProcedure(invocationData);
var fullName = invocationResult.result.fullName;
if (invocationResult.result.success == false) {
return {
authRequired: true,
loginPassed: false
};
}
else {
userIdentity = {
userId: username,
credentials: password,
displayName: username, …Run Code Online (Sandbox Code Playgroud)