标签: xcode11

如何修复 Xcode 11.0 beta 版画布崩溃?

我正在关注SwiftUI的https://developer.apple.com/tutorials/swiftui/tutorials,我已经下载了macOS Catalina 和 Xcode 11.0 beta。

即使在尝试以下操作后,画布也崩溃并且无法恢复:

  • 我试过彻底清理项目 - 失败
  • 我试过重新启动 Xcode - 失败
  • 我试过重新启动 - 失败

代码只是声明了 UI,没什么特别的。

import SwiftUI

struct LandmarkDetail : View {
    var landmark: Landmark

    var body: some View {
        VStack {
            MapView(coordinate: landmark.locationCoordinate)
                .edgesIgnoringSafeArea(.top)
                .frame(height: 300)

            CircleImage(image: landmark.image(forSize: 250))
                .offset(y: -130.0)
                .padding(.bottom, -130.0)

            VStack(alignment: .leading) {
                Text(landmark.name)
                    .font(.title)
                    .multilineTextAlignment(.center)


                HStack {
                    Text(landmark.park)
                        .font(.subheadline)
                    Spacer()
                    Text(landmark.state)
                        .font(.subheadline)
                }
            }
            .padding()

            Spacer()
        }
        .navigationBarTitle(Text(landmark.name), displayMode: .inline)
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui xcode11

3
推荐指数
1
解决办法
2502
查看次数

“无法在此文件中预览-无法启动[应用程序名称]”

我正在尝试在Xcode 11和macOS Catalina中使用swiftUI。但是创建新项目后,有一个带有文字的样板代码,上面写着“ hello World”。我希望在代码旁的画布中实时预览此简单的欢迎消息。

当我按下简历按钮时:它说:

无法在此文件中预览-无法启动[应用名称]

我尝试点击诊断按钮以生成报告以将其发送给APPLE,说:

[FailedToLaunchError(URL:file:///Users/naive/Library/Developer/Xcode/DerivedData/first_swiftUI-dymizjogcbtouhclgjhhefagmcqo/Build/Intermediates.noindex/Previews/first_swiftUI/Products/Debug-iphoneos/first-swift: = NSOSStatusErrorDomain代码= -10661“(null)” UserInfo = {_ LSLine = 3554,_LSFunction = _LSOpenStuffCallLocal},failureCategory:UVFoundation.FailureCategory.infrastructureFailure)]

这是代码,这是Xcode 11和SwiftUI选项选中时创建的新项目随附的默认代码:

import SwiftUI

struct ContentView : View {
    var body: some View {
        Text("Hello World")
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

我希望画布能够显示并实时显示我的代码。画布不显示!

生成了两个警告消息:

:0:警告:导入的声明'UITableViewDiffableDataSourceCellProvider'无法映射到'UITableViewDiffableDataSourceReference.CellProvider'

:0:警告:导入的声明'UICollectionViewDiffableDataSourceCellProvider'无法映射到'UICollectionViewDiffableDataSourceReference.CellProvider'

除此之外,带有iPadOS Beta的My iPad 11“可以运行该应用程序,模拟器也可以正常运行

swift swiftui xcode11 macos-catalina

3
推荐指数
4
解决办法
1645
查看次数

如何以编程方式设置 iOS 13 字形

与iOS 13起,苹果提供了一堆字形可以 “无处不在,你可以使用图像”。

您可以使用 SF 符号来表示各种特定位置的任务和内容类型,例如导航栏、工具栏、标签栏、上下文菜单和主屏幕快速操作。在整个应用程序的其余部分,您可以在任何可以使用图像的地方使用符号。

因此,我希望此代码将字形设置为 aUIBarButtonItem的图像:

shareButton = UIBarButtonItem(
            image: UIImage(named: "square.and.arrow.up"), // the name for the 'action' (Share) glyph
            style: .plain,
            target: self,
            action: #selector(mySelector))
Run Code Online (Sandbox Code Playgroud)

但是由于找不到图像,该应用程序崩溃并显示为 nil。
我尝试附加.png到图像名称,但没有任何区别。

我们如何以编程方式设置 iOS 13 字形?

  • 注意:我安装了 SF Symbols 应用程序并成功将字形设置为Storyboard 中UIBarButtonItems 的图像。

swift ios13 xcode11

3
推荐指数
1
解决办法
2024
查看次数

使用 UIStatusBarManager 更改状态栏背景颜色

早些时候在 Xcode 10 和 swift 5 上,我曾经按如下方式更改状态栏颜色:-

if let statusBar = UIApplication.shared.value(forKey: "statusBar") as? UIView {
   if statusBar.responds(to: #selector(setter: UIView.backgroundColor)) {
      statusBar.backgroundColor = #colorLiteral(red: 0, green: 0.7156304717, blue: 0.9302947521, alpha: 1)
   }
}
Run Code Online (Sandbox Code Playgroud)

现在在 Xcode 11 & Swift 5.1 上,我收到以下错误:-

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“应用程序在 UIApplication 上调用了 -statusBar 或 -statusBarWindow:必须更改此代码,因为不再有状态栏或状态栏窗口。改为在窗口场景中使用 statusBarManager 对象。

有什么建议?

uikit ios xcode11 swift5.1

3
推荐指数
1
解决办法
4699
查看次数

我应该如何解决这个错误:线程 1:EXC_RESOURCE RESOURCE_TYPE_MEMORY(限制=650 MB,未使用=0x0)?

我正在尝试运行使用此 GitHub 项目的应用程序:https : //github.com/PaoloCuscela/Cards/wiki/Overview

但是当我在我的 iPhone 6 上运行我的应用程序时,它崩溃并给我标题错误。

我已经在我的viewDidLoad函数中编写了其中的 28 个,并且该应用程序在模拟器上运行良好。

 let tennisCard = CardHighlight(frame: CGRect(x: 67, y: 3362, width: 250, height: 300))
           tennisCard.title = "Exercise 11"
           tennisCard.itemTitle = "Tennis"
           tennisCard.backgroundColor = UIColor(red: 0/255, green: 255/255, blue: 79/255, alpha: 1)
           tennisCard.buttonText = "See"
           tennisCard.itemSubtitle = ""
           tennisCard.tintColor = UIColor.black
           tennisCard.textColor = UIColor.black
           tennisCard.icon = UIImage(named: "Tennis")
           let tennisVC = storyboard?.instantiateViewController(withIdentifier: "TennisCardContent")
                tennisCard.shouldPresent(tennisVC, from: self)
                scrollView.addSubview(tennisCard)
Run Code Online (Sandbox Code Playgroud)

debugging swift xcode11

3
推荐指数
1
解决办法
8068
查看次数

SwiftUI:如何使用UserDefaults保留@Published变量?

我希望持久保存@Published变量,以便每次重新启动应用程序时都相同。

我想在一个变量上同时使用@UserDefault和@Published属性包装。例如,我需要一个' @PublishedUserDefault var isLogedIn '。

我有以下propertyWrapper

import Foundation

@propertyWrapper
struct UserDefault<T> {
    let key: String
    let defaultValue: T

    init(_ key: String, defaultValue: T) {
        self.key = key
        self.defaultValue = defaultValue
    }

    var wrappedValue: T {
        get {
            return UserDefaults.standard.object(forKey: key) as? T ?? defaultValue
        }
        set {
            UserDefaults.standard.set(newValue, forKey: key)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的设置课程

import SwiftUI
import Combine

 class Settings: ObservableObject {

   @Published var isLogedIn : Bool = false

 func doLogin(params:[String:String]) {

        Webservice().login(params: params) { response in

            if let …
Run Code Online (Sandbox Code Playgroud)

swift5 swiftui xcode11

3
推荐指数
2
解决办法
514
查看次数

在 iOS13 上运行启用 VOIP 的应用程序时出现 NSInternalInconsistencyException

*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“使用 VoIP 推送的 PushKit 应用程序必须链接 CallKit 或 IncomingCallNotifications 框架。”

此错误显示在使用 iOS 13 的 xcode 11 Beta 上。 xcode10 上没有问题。

使用 VoIP 推送的 PushKit 应用程序必须链接 CallKit 或 IncomingCallNotifications 框架。#voip

voip ios13 xcode11

3
推荐指数
1
解决办法
2410
查看次数

Xcode 11 Beta 7命令PhaseScriptExecution失败,退出代码为非零([CP] Copy Pods Resources)

最近下载了Xcode 11 Beta,以在iOS 13中测试我的应用程序,但遇到了一个似乎无法解决的问题。每次在[CP] Copy Pods Resources步骤上构建都会失败,并说“命令PhaseScriptExecution失败,退出代码非零”。现在我知道这是任何运行脚本阶段失败时的错误,但是通常会伴随此错误提供一些有用的信息。

错误输出:

ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target 11.0 --output-format human-readable-text --compile /Users/chris/Library/Developer/Xcode/DerivedData/SmartPager-dcfjsnhrgkjfeabbvafghvwsrsxr/Build/Products/Debug-iphoneos/SmartPager Sandbox.app/JSQMessagesViewController.nib 
/Users/chris/Work/projectname/Pods/JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib --sdk /Users/chris/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.0.sdk --target-device ipad --target-device iphone
2019-09-06 13:26:17.003 IBAgent-iOS[39395:514843] Incorrect screen size for <UIScreen: 0x7fb0e05245a0; bounds = {{0, 0}, {0, 0}}> in UICollectionViewData
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target 11.0 --output-format human-readable-text --compile /Users/chris/Library/Developer/Xcode/DerivedData/SmartPager-dcfjsnhrgkjfeabbvafghvwsrsxr/Build/Products/Debug-iphoneos/SmartPager Sandbox.app/JSQMessagesCollectionViewCellIncoming.nib /Users/chris/Work/projectname/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.xib --sdk /Users/chris/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.0.sdk --target-device ipad --target-device iphone
Command PhaseScriptExecution failed with a nonzero exit code
Run Code Online (Sandbox Code Playgroud)

相关信息:据我所知,这可能与我们使用的已弃用的cocoapod有关,特别是JSQMessagesViewController(7.3.5)。显然,使用不赞成使用的库并不是很好,但是它可以在Xcode 10中构建并正常运行,因此我不知道问题可能出在哪里。在一个单独的项目中,我尝试仅添加此pod,它会引发相同的错误。关于“屏幕大小不正确...”的行似乎只是警告而不是错误,因为在Xcode 10中,它使用同一行正确编译。

我尝试过重新启动计算机,清理,删除派生数据以及所有常见的东西。我只是不知道现在还能去哪里。任何建议将不胜感激。谢谢!

xcode ios ios13 xcode11

3
推荐指数
2
解决办法
710
查看次数

iOS 13中的AES加密CryptLib无法正常工作

我的应用程序使用AES 256加密来加密字符串。之前使用的相同代码会产生不同的结果。当iOS 13发布时,此问题开始。而且仅发生在商店中或使用Xcode 11构建的应用程序中。

这是用于加密的代码:


- (NSData *)encrypt:(NSData *)plainText key:(NSString *)key  iv:(NSString *)iv {  
    char keyPointer[kCCKeySizeAES256+2],// room for terminator (unused) ref: https://devforums.apple.com/message/876053#876053  
    ivPointer[kCCBlockSizeAES128+2];  
    BOOL patchNeeded;  
    bzero(keyPointer, sizeof(keyPointer)); // fill with zeroes for padding  

    patchNeeded= ([key length] > kCCKeySizeAES256+1);  
    if(patchNeeded)  
    {  
        NSLog(@"Key length is longer %lu", (unsigned long)[[self md5:key] length]);  
        key = [key substringToIndex:kCCKeySizeAES256]; // Ensure that the key isn't longer than what's needed (kCCKeySizeAES256)  
    }  

    //NSLog(@"md5 :%@", key);  
    [key getCString:keyPointer maxLength:sizeof(keyPointer) encoding:NSUTF8StringEncoding];  
    [iv getCString:ivPointer maxLength:sizeof(ivPointer) encoding:NSUTF8StringEncoding];  

    if (patchNeeded) {  
        keyPointer[0] …
Run Code Online (Sandbox Code Playgroud)

encryption aes objective-c ios13 xcode11

3
推荐指数
1
解决办法
564
查看次数

在Xcode 11中,如何在新标签页或新窗口中快速打开文件?

在Xcode 11之前,您可以使用cmd+shift+o打开快速打开菜单,然后使用opt+shift+enter显示小跳转对话框来确定在何处打开文件,例如

在此处输入图片说明

请注意,对话框中有一些要在新窗口或新选项卡中打开的位置。

在XCode 11中,对所有编辑器进行了改进(这些功能很棒),小跳转对话框已替换为当前窗口中显示的一些蓝色突出显示。这看起来不错,但是我不知道如何在新标签页或新窗口中打开文件。

在此处输入图片说明

直到它消失了,我才意识到这在我的工作流程中有多重要:)

xcode xcode11

3
推荐指数
1
解决办法
110
查看次数