我有一个专有的动态 iOS 框架,目标是 iOS 8.0 以上并使用 Swift。我想以预编译的形式分发它。
我尝试为发布而构建,将框架复制到另一个项目并将其添加到嵌入式框架部分下。但是,我收到以下错误:
ld: framework not found MyFramework
如果我从链接的框架和库部分删除我的框架,我的应用程序会编译,但我无法在我的代码中使用该框架。
我该如何解决我的问题?
有时,UnicodeScalar
使用类似值初始化会57292
产生以下错误:
fatal error: high- and low-surrogate code points are not valid Unicode scalar values
Run Code Online (Sandbox Code Playgroud)
这个错误是什么,它为什么会发生,以后如何防止它?
我在 ViewController 中有一个覆盖整个屏幕的 UITextView,但是当我运行应用程序并在其中输入内容时,如果我向下输入键盘,那么它不会向上滚动。只有当我一直向下输入到屏幕最底部时,它才会向上滚动,但如果我输入超过键盘所在的位置,则 TextView 将不会滚动,并且我输入的任何内容都会被隐藏。我该如何解决这个问题?
你好我正在开发项目(在objective-c中完成它)但是一个类在Swift中被写了.迁移到XCODE 7 for ios9编译器后回到我的错误:'String?' 代码不能转换为'NSString':
if let view = self.emailTextField.rightView {
if (self.emailTextField.text as NSString).validateEmail() {
self.emailTextField.rightView?.alpha = 1
} else {
self.emailTextField.rightView?.alpha = 0
}
}
Run Code Online (Sandbox Code Playgroud)
来自Swift2老板:)的任何建议?
我正在尝试在 swift 3 中以编程方式注册字体。这是我用来安装字体的代码片段。我尝试安装的字体是Oswald
func installFonts(_ fonts: [String]){
for i in 0 ..< fonts.count{
let font = fonts[i].components(separatedBy: ".")
let fontPath = Bundle.main.url(forResource: font[0], withExtension: font[1])!
var error: Unmanaged<CFError>?
if let dataProvider = CGDataProvider(url: fontPath as CFURL) {
let font = CGFont(dataProvider)
if (!CTFontManagerRegisterGraphicsFont(font, &error)) {
print(error.debugDescription)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
未安装任何字体,错误描述如下:
Optional(Swift.Unmanaged<__ObjC.CFError>(_value: Error Domain=com.apple.CoreText.CTFontManagerErrorDomain Code=105 \"Could not register the CGFont \'<CGFont (0x6100000d9f30): Oswald-Bold>\'\" UserInfo={NSDescription=Could not register the CGFont \'<CGFont (0x6100000d9f30): Oswald-Bold>\', CTFailedCGFont=<CGFont (0x6100000d9f30): Oswald-Bold>}))
考虑以下代码:
class Foo
{
}
func foo() -> (Void -> Foo)
{
var foo = Foo()
return { foo }
}
var fooGen = foo()
Run Code Online (Sandbox Code Playgroud)
现在,无论何时调用fooGen
,我都会得到存储的Foo
实例。但是到底foo
存储在哪里?它在堆栈中吗?如果是这样,那它的生命是什么?
我有一个非常大的结构,我想确保不会被不必要地复制.如何为它创建一个copy-on-write容器?
我正在运行Xcode 6.3,而我正在使用card.io的iOS SDK 5.2.0.
这是错误:
重复符号_llvm.cmdline:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master /CardIO/libCardIO.a(CardIOPostalCodeTextFieldDelegate.o)复制符号_llvm.embedded.module:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/ Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOPostalCodeTextFieldDelegate.o)复制符号_llvm.cmdline in:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/ libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOConfig.o)复制符号_llvm.embedded.module in:/ Users/comcubatormica/Downloads /卡.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOConfig.o)重复符号_llvm.cmdline in:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO. a(CardIOView.o)重复符号_llvm.embedded.module位于:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/ Users/comcubatormica/Downloads/card .io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)ld:64个用于体系结构x86_64 clang的重复符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)io-iOS-SDK-master/CardIO/libCardIO.a(CardIOConfig.o)复制符号_llvm.cmdline:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell. o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)复制符号_llvm.embedded.module:/Users/comcubatormica/Downloads/card.io-iOS -SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)ld:64个重复符号用于体系结构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)io-iOS-SDK-master/CardIO/libCardIO.a(CardIOConfig.o)复制符号_llvm.cmdline:/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOTableViewCell. o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)复制符号_llvm.embedded.module:/Users/comcubatormica/Downloads/card.io-iOS -SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)ld:64个重复符号用于体系结构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)复制符号_llvm.embedded.module:/Users/comcubatormica/Downloads/card.io-iOS -SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)ld:64个重复符号用于体系结构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)复制符号_llvm.embedded.module:/Users/comcubatormica/Downloads/card.io-iOS -SDK-master/CardIO/libCardIO.a(CardIOTableViewCell.o)/Users/comcubatormica/Downloads/card.io-iOS-SDK-master/CardIO/libCardIO.a(CardIOView.o)ld:64个重复符号用于体系结构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)链接器命令失败,退出代码为1(使用-v查看调用)链接器命令失败,退出代码为1(使用-v查看调用)
我怎么解决这个问题?
在本地范围之外声明的变量仍在范围内可用/可访问.因此,我想如果我重新声明范围内的变量,编译器会告诉我重新声明错误.
在以下代码片段中,常量tipPercentage
在if范围之外声明,并在if范围内设置
let totallBill = 95.00
let tipPercentage: Double
let rating = 3
if rating == 5 {
tipPercentage = 0.25
} else if rating >= 3 {
tipPercentage = 0.15
} else {
let tipPercentage = 0.10 //# error caused by the let
}
let totalPaid = totallBill + totallBill * tipPercentage
Run Code Online (Sandbox Code Playgroud)
问题
我在if范围内重新声明了常量.我认为它会告诉重新声明变量错误,但相反,它给出了" constant "tipPercentage" used before being initialized.
" 为什么会这样?
非常感谢