我在xcode-select --install使用 Xcode 11 beta 和 Mac Mojave 10.14.5安装命令行开发工具时遇到问题。
下载开始发生,然后立即停止并显示一条消息:
无法安装该软件,因为软件更新服务器当前不提供该软件。
我查了一下,我发现的所有线程都有用于下载命令行工具的死链接:
我正在使用ObservableObject'DataStore',其中包含对象('exampleObject')的数组('exampleList')。
@Published exampleList = [exampleObject]()
Run Code Online (Sandbox Code Playgroud)
我通过@EnvironmentObject('dataStore')调用DataStore。
@EnvironmentObject var dataStore = DataStore()
Run Code Online (Sandbox Code Playgroud)
然后我用
ForEach(0..<dataStore.exampleList.count) { index in ....
Run Code Online (Sandbox Code Playgroud)
要将item的元素绑定到详细信息视图,我正在这样做:
DetailView(itemBinding: $dataStore.exampleList[index])
Run Code Online (Sandbox Code Playgroud)
在Xcode11 beta 4之前,它一直运行良好。
从XCode11 beta 5开始,它仍然可以工作,但是Xcode给我以下警告:
不推荐使用下标(_ :):有关迁移路径,请参见发行说明
我尝试了一些简单的东西,使用了一个简单的@State var包含一个字符串数组,这是同样的问题:调用此数组的元素并尝试将其值用于TextField时:
TextField("test", text: $test[0])
Run Code Online (Sandbox Code Playgroud)
我收到相同的警报。
我不知道该如何解决。这是否意味着我们不再可以在数组内部绑定值?然后,我们如何迭代数组并绑定特定项目?
这是我关于Stackoverflow的第一个问题,如果我的问题太笨拙,我深表歉意。非常感谢您的回答,多年来我一直在使用Stackoverflow,这很了不起,我总是能找到现有的有用的答案,但这是第一次我找不到任何东西,这就是为什么我要问。
我正在尝试使用 Xcode(Beta 11.0 beta 6)设置登录 Apple。
在模拟器上运行良好,但是当我在我的 iPhone (iOS 13.1) 上运行它时,我没有得到相同的显示。
在模拟器上:

在 iPhone 上:

这就是我所说的“使用 Apple 登录”的方式:
- (IBAction)signInWithApple:(id)sender {
if (@available(iOS 13.0, *)) {
ASAuthorizationAppleIDProvider *appleIDProvider = [[ASAuthorizationAppleIDProvider alloc] init];
ASAuthorizationAppleIDRequest *request = [appleIDProvider createRequest];
request.requestedScopes = @[ASAuthorizationScopeFullName,ASAuthorizationScopeEmail];
ASAuthorizationController *authorizationController = [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[request]];
authorizationController.delegate = self;
authorizationController.presentationContextProvider = self;
[authorizationController performRequests];
} else {
// Fallback on earlier versions
}
}
Run Code Online (Sandbox Code Playgroud)
根据我的调试,我知道在这两种情况下都执行了代码,并且在授权控制器中设置了电子邮件 + 全名范围。
我希望在这两种情况下都能看到使用苹果登录并询问我的全名以及是否要隐藏我的电子邮件...
但它只发生在模拟器上。在 iPhone 上,我只是“继续”,让我的脸被识别......就是这样。
在这两种情况下,这都是在之后调用的:
-(void)authorizationController:(ASAuthorizationController *)controller
didCompleteWithAuthorization:(ASAuthorization *)authorization API_AVAILABLE(ios(13.0)){
ASAuthorizationAppleIDCredential *appleIDCredential = …Run Code Online (Sandbox Code Playgroud) 我已经使用 SwiftUI 一个星期了,作为每个人,我都在努力确定不起作用的东西是错误还是我的误解。
我正在使用 TextField 视图,但从未执行onCommit闭包。该onEditingChanged工作正常。当文本字段获得焦点时,它被调用为 true,当它失去焦点时它被调用为 false。
该onCommit关闭,但是,永远不会执行。根据代码中可用的小文档:
onCommit:当用户在
TextField具有焦点的情况下执行操作(通常是返回键)时要执行的操作。
这是代码:
TextField($value,
placeholder: Text(placeholder),
onEditingChanged: { edit in
print("edit = \(edit)")
},
onCommit: {
print("COMITTED!")
}).textFieldStyle(.roundedBorder).padding(.horizontal, 20)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想将焦点从接收 RETURN 键的文本字段中移动,并将焦点放在以下字段上。使用 UITextField 和 resignFirstResponder() 和 becomeFirstResponder() 很容易。
我已经设法使用UIViewRepresentable来嵌入旧的 UITextField,但这不是本文的重点。我真的希望让它在纯 SwiftUI 代码中工作。
如果我可以让 onCommit 工作,我应该在那里放什么来实现我的目标?
更新:问题似乎只存在于 iOS,而不是 macOS,它似乎工作正常。
更新 2:这是在我的机器上运行建议代码的结果的视频。我确实向 Apple 提交了一个错误……我们拭目以待。
我创建了一个新应用程序,它通过 Project Catalyst 在 Xcode 11 Beta 2 上的 iPhone 和 Mac 上运行。为此,我有 2 个专门为“macOS”和“iOS”构建的框架。添加该框架后,我收到以下错误!
在这里,我如何向项目添加框架!
有人可以帮忙吗?虽然,没有添加框架项目正在运行,其中只有 2 UILabel.
我想使用颜色文字使用资产目录中的颜色资产。在UIKit,我们可以直接使用颜色文字有没有什么方法可以在 SwiftUI 中使用颜色文字
我已经从带有UIColor参数的Color 初始值设定项中进行了搜索,但没有找到
使用 Xcode beta 6 和 SwiftUI,Text使用>localized<字符串创建视图,如何在不必将本地化字符串值大写的情况下将其大写?我想我想要一个ViewModifier改变案例,但它似乎不存在?
Text("SignIn.Body.Instruction".uppercased())将大写本地化键,因此将不起作用,如有关大写非本地化字符串的SO问题中所述。
所以......我试图根据苹果文档通过强制亮模式来设置我的应用程序以禁用iOS 13暗模式,在模拟器中所有尝试都可以正常工作,但是当我在真实设备上尝试时,没有任何反应,就像我一样我从来没有改变过我的代码
第一次尝试
覆盖窗口、视图或视图控制器的界面样式
我试图将此代码示例放在我的 viewDidLoad() 中
没有改变
if #available(iOS 13.0, *) {
overrideUserInterfaceStyle = .light
} else {
// Fallback on earlier versions
}
Run Code Online (Sandbox Code Playgroud)
第二次尝试
完全退出黑暗模式
系统会自动选择任何与 iOS 13.0 或更高版本 SDK 相关联的应用程序,以显示亮色和暗色外观。如果您需要额外的时间来处理应用程序的暗模式支持,您可以通过在应用程序的 Info.plist 文件中包含 UIUserInterfaceStyle 键(值为 Light)来暂时退出。将此键设置为 Light 会导致系统忽略用户的偏好并始终为您的应用程序应用浅色外观。
没有改变
如果有人知道我如何仅在浅色模式下设置我的应用程序......我将非常感激:D
我正在尝试从 Xcode 框架项目(项目名称 XCFramework)生成一个 iOS XCFramework。项目由一些 cocoa-pods 库组成,如 Socket IO、SwiftKeyChainWrapper 等。 如果我生成没有 cocoa-pods 的 XCFramework,xcodebuild 命令会为 iOS 和 iOS 模拟器目标成功生成 XCFramework,但是当我在框架项目中安装 pod 时我收到很多错误。如果有人遇到这种情况并成功地帮助使用可可豆荚生成 XCFramework 示例项目,那将非常有帮助。
注意:a) 我使用了一个名为xcframework 的小包,它在命令 (1) 中生成 xcfremwork b) 如果我直接从 Xcode 存档项目,存档会成功。
1) 构建命令:- xcframework build --project XCFramework.xcodeproj --name XCFramework --iOS EcallXCFramework
...... ...... ** 存档失败**
以下构建命令失败:Ld /Users/*******/Library/Developer/Xcode/DerivedData/XCFramework-gccrcnyzlsezmugkrqqlnpusjfci/Build/Intermediates.noindex/ArchiveIntermediates/XCFramework/InstallationBuildProductsLocation/Library/Frameworks/XCFramework.framework/ XCFramework 正常 arm64(1 失败)
2)构建命令:- xcodebuild archive -scheme XCFramework -destination="generic/platform=iOS" -destination="generic/platform=iOS Simulator" SKIP_INSTALL=NO
...... ...... 来自命令行的用户默认值:destination = generic/platform=iOS Simulator
从命令行构建设置:SKIP_INSTALL = NO
xcodebuild:错误:无法使用 XCFramework 方案构建项目 EcallXCFramework。原因:运行目标 My …
xcode11 ×10
swift ×5
ios ×4
swiftui ×4
ios13 ×3
macos ×2
arm64 ×1
cocoapods ×1
command-line ×1
debugging ×1
ios-darkmode ×1
iphone ×1
macos-mojave ×1
nscolor ×1
uicolor ×1
xcframework ×1
xcode ×1