小编EBD*_*KUM的帖子

Xcode 9.3中的Codable'没有初始化器'(Swift 4.1)

更新到Xcode 9.3(使用Swift 4.1)后,发现以下问题:

  1. 创建一个空项目,向其添加一个新的.swift文件并创建两个新类:

    创建为Codable类

    class CodableOne: Codable {
    
        let some: String
    
    }
    
    class CodableTwo: Codable {
    
        var some: String
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

    建立成功

  2. 添加CodableOne类型的新常量CodableTwo:

    为CodableOne添加了一个新常量

    class CodableOne: Codable {
    
        let some: String
        let another: CodableTwo
    
    }
    
    class CodableTwo: Codable {
    
        var some: String
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

    建立成功

  3. 现在将类移动CodableTwo到另一个文件(例如ViewController.swift)

    CodableTwo移动到另一个文件

    构建失败.

现在有一个错误,它不会消失.Codable类不应该需要初始化器(如前面的步骤所示).

关于这背后可能出现的问题及如何解决的任何想法将不胜感激!


PS Code在Xcode 9.2中不存在.也不清理项目/构建路径,重新安装Xcode 9.3也有帮助.

xcode swift codable swift4.1 xcode9.3

37
推荐指数
2
解决办法
3546
查看次数

将带有源的 Pod 依赖项添加到 .podspec

我正在尝试将以下依赖项添加到我的 Podspec

s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
Run Code Online (Sandbox Code Playgroud)

每当我尝试运行时,这是我在终端中得到的pod lib lint MyPodName.podspec

- ERROR | spec: The specification defined in `MyPodName.podspec` could not be loaded.


[!] Invalid `MyPodName.podspec` file: [!] Unsupported version requirements.

 #  from <PathToMyPodspec>/MyPodName.podspec:36
 #  -------------------------------------------
 #    
 >    s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
 #    
 #  -------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我已经成功地将它用作我的一个 iOS 项目中的 Pod。但是现在我自己正在创建一个 pod,我很难理解我应该怎么做才能让它工作。

先感谢您!

dependencies ios cocoapods podspec swift

7
推荐指数
4
解决办法
2万
查看次数

"文件太小,不适用于架构arm64","clang:错误:链接器命令失败,退出代码为1"

我刚刚尝试在iPad上运行应用程序并出现此错误:

ld: file too small (length=0) file '(PathToMyProjectBuild)/Objects-normal/arm64/Palette.o' for architecture arm64
clang: error: linker command failed with exit code 1 
Run Code Online (Sandbox Code Playgroud)

我的应用程序在iPhone上运行良好,并且优雅地在我的iPad上运行,然后我突然得到了这个.它甚至意味着什么,我怎么能解决这个问题,因为我正在开发这个应用程序主要在我的iPad上使用它,而不是iPhone(虽然它是通用的)?

xcode ipad ios

5
推荐指数
1
解决办法
2660
查看次数

Xcode 9.3(Swift 4.1)'XCBBuildService意外退出

自从更新到Xcode 9.3(当前版本)以来,每次尝试将新文件添加到项目时,我都开始收到此消息,并且经常需要我重新打开工作空间几次才能真正成功建立索引。弹出错误信息 异常元 崩溃跟踪

关于如何摆脱这个问题的任何建议将不胜感激!


附加信息

  • 我发现我现在有这个同样的问题在Xcode 8.3,虽然我一直在努力,直到永远最长的时候并没有遇到这样的错误永远之前
  • 如果我没记错的话,我第一次遇到此错误是在使用Storyboard和.xib文件时。
  • 索引期间发生此错误
  • 每个新文件都会导致重新索引,并且每次失败都会出现此错误
  • 随意重新编制索引(没有新文件时)不会导致出现此错误
  • 重新打开确实确实有帮助,但更多时候不是,它需要我重新打开几次(与重新启动Xcode相同)

indexing xcode

5
推荐指数
2
解决办法
1208
查看次数

Xcode 11.0 Beta 4构建并运行,但无法存档

我的Swift项目可以正常构建和运行,但是由于以下警告而导致的每次归档尝试均失败,但出现错误:

Could not find or use auto-linked library 'swiftFoundation'
Could not find or use auto-linked library 'swiftMetal'
Could not find or use auto-linked library 'swiftDarwin'
Could not find or use auto-linked library 'swiftUIKit'
Could not find or use auto-linked library 'swiftCoreFoundation'
Could not find or use auto-linked library 'swiftObjectiveC'
Could not find or use auto-linked library 'swiftDispatch'
Could not find or use auto-linked library 'swiftCoreImage'
Could not find or use auto-linked library 'swiftQuartzCore'
Could not find or use auto-linked library …
Run Code Online (Sandbox Code Playgroud)

beta xcode ios swift

5
推荐指数
1
解决办法
527
查看次数

无法从nib实例化UIView."警告:无法加载任何Objective-C类信息"

我得到"无法加载任何Objective-C类信息.这将显着降低可用类型信息的质量." 初始化此类的实例时在控制台中发出警告:

@IBDesignable
class SystemMessage: UIView{

    @IBOutlet weak var lbl_message: UILabel!

    var view: UIView!

    override init(frame: CGRect) {
        super.init(frame: frame)

        setup()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        setup()
    }

    func setup(){
        view = loadViewFromNib()

        view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
        addSubview(view)
    }


    func loadViewFromNib() -> UIView{
        let bundle = NSBundle(forClass: self.dynamicType)
        let nib = UINib(nibName: "SystemMessage", bundle: bundle)
        let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView

        return view 
    }


}
Run Code Online (Sandbox Code Playgroud)

执行停止let view = nib.instantiateWithOwner..."线程1:EXC_BAD_ACCESS(代码= 2 ...)"

这背后可能的原因是什么?

xcode uiview nib ios swift

2
推荐指数
1
解决办法
9915
查看次数

XCode 不会从 App Store 更新

今晚我更新了我用来测试我的应用程序的 iPhone,但这导致了“开发者磁盘映像”的问题,据我所知,这基本上意味着 Apple 希望我更新我的 Xcode。

但是,当我尝试从 App Store 中的“更新”选项卡执行此操作时,按下“更新”按钮后,它只是简单地进入“等待”状态,然后完全没有任何进展。之后它不会更新,并且启动器中的应用程序图标变为灰色,其下方有一个进度条并保持为 0 字节。

我试图删除该应用程序并再次从 App Store 下载它,但这一切都以下载 Xcode.appdownload 文件结束,仅此而已。即使我尝试启动该文件(我知道它很愚蠢,但应该尝试过)也没有任何反应。如何让我的 App Store 重新运行?

xcode app-store

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

NSUserDefaults的可靠性如何?

不久前,我发现NSUserDefaults并思考:如果我能保留应用程序所需的信息NSUserDefaults,为什么还要创建数据库?这些是我的应用程序需要的变量:

  • 用户名(String类型)
  • 获得的硬币(Int16类型)
  • 雄鹿买了(Int16型)
  • 购买的物品(类型为[String])

NSUserDefaults作为使用数据库的替代方案有多适合?如果我使用NSUserDefaults而不是数据库,将所有"可购买"项目列为枚举是否合理?

nsuserdefaults ios

0
推荐指数
1
解决办法
163
查看次数