更新到Xcode 9.3(使用Swift 4.1)后,发现以下问题:
创建一个空项目,向其添加一个新的.swift文件并创建两个新类:
class CodableOne: Codable {
let some: String
}
class CodableTwo: Codable {
var some: String
}
Run Code Online (Sandbox Code Playgroud)
建立成功
添加CodableOne
类型的新常量CodableTwo
:
class CodableOne: Codable {
let some: String
let another: CodableTwo
}
class CodableTwo: Codable {
var some: String
}
Run Code Online (Sandbox Code Playgroud)
建立成功
现在将类移动CodableTwo
到另一个文件(例如ViewController.swift)
构建失败.
现在有一个错误,它不会消失.Codable
类不应该需要初始化器(如前面的步骤所示).
关于这背后可能出现的问题及如何解决的任何想法将不胜感激!
PS Code在Xcode 9.2中不存在.也不清理项目/构建路径,重新安装Xcode 9.3也有帮助.
我正在尝试将以下依赖项添加到我的 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,我很难理解我应该怎么做才能让它工作。
先感谢您!
我刚刚尝试在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 9.3(当前版本)以来,每次尝试将新文件添加到项目时,我都开始收到此消息,并且经常需要我重新打开工作空间几次才能真正成功建立索引。
关于如何摆脱这个问题的任何建议将不胜感激!
我的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) 我得到"无法加载任何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 ...)"
这背后可能的原因是什么?
今晚我更新了我用来测试我的应用程序的 iPhone,但这导致了“开发者磁盘映像”的问题,据我所知,这基本上意味着 Apple 希望我更新我的 Xcode。
但是,当我尝试从 App Store 中的“更新”选项卡执行此操作时,按下“更新”按钮后,它只是简单地进入“等待”状态,然后完全没有任何进展。之后它不会更新,并且启动器中的应用程序图标变为灰色,其下方有一个进度条并保持为 0 字节。
我试图删除该应用程序并再次从 App Store 下载它,但这一切都以下载 Xcode.appdownload 文件结束,仅此而已。即使我尝试启动该文件(我知道它很愚蠢,但应该尝试过)也没有任何反应。如何让我的 App Store 重新运行?
不久前,我发现NSUserDefaults
并思考:如果我能保留应用程序所需的信息NSUserDefaults
,为什么还要创建数据库?这些是我的应用程序需要的变量:
NSUserDefaults
作为使用数据库的替代方案有多适合?如果我使用NSUserDefaults
而不是数据库,将所有"可购买"项目列为枚举是否合理?