我有一个应用程序说它MyApp是主要的wkwebview。它已经集成到文件应用程序中,因此我可以import/export从我的文件wkwebview中下载文件到本地计算机或将文件上传到服务器。
最后,我试图UIbutton在我的应用程序中构建一个允许我的用户跳转到我存储其所有内容的文件夹中的文件应用程序的应用程序。我不想在我的应用程序中构建完整的内容FileProviderUI,而是希望该按钮将用户带入文件应用程序并导航到该文件夹。
当我给出目录路径UIDocumentInteractionController并执行共享打开来呈现它时,什么也没有发生。没有错误,什么都没有。我只希望用户能够跳转到MyApp“文件”应用程序内调用的文件夹。
我以为这会很简单。添加FileProvider扩展名或FilePRoviderUI扩展名似乎多余,只是将用户跳转到此文件夹并让他与“文件”应用程序交互以执行他喜欢的任何操作 - 打开/删除/修改文档。
我必须假设用户不够精明,即使我告诉他们文件保存在文件应用程序中以便他们能够在离线时直接交互!
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
// Just jump to the folder forcing Files app to open this
let viewer = UIDocumentInteractionController(documentsUrl)
viewer.delegate = self
viewer.presentPreview(animated: true)
Run Code Online (Sandbox Code Playgroud)
没有任何内容呈现给用户,也没有任何反应。按钮点击只是悄然失败。
在我的代码中,我有一个部分可以创建一个WKWebView带有特定的新内容,而该特定WKWebViewConfiguration内容又具有WKPreferences引用。然后将所有这些添加到应用程序的视图中。
问题在于,到目前为止,我的代码一直运行良好,没有任何问题。
现在,出于某种奇怪的原因,当我启动该应用程序时,
线程1:EXC_BAD_ACCESS(代码= 2,地址= 0x7ffeec686fc0)
当我为创建一个变量时在线上WKPreferences。
我正在使用Xcode 10.1,Swift 4和,并且已安装Alamofire和NetworkReachability吊舱。我试过只创建WKWebView不带的WKPreferences,但错误仅移至WKWebViewConfiguration。
func createWebView() {
let preferences = WKPreferences() //<-- EXC_BAD_ACCESS
preferences.javaScriptEnabled = true
let webConfiguration = WKWebViewConfiguration()
webConfiguration.preferences = preferences
webConfiguration.allowsInlineMediaPlayback = true
webViewVar = WKWebView(frame: self.view.bounds, configuration: webConfiguration)
webViewVar.uiDelegate = self
self.view = webViewVar
}
override func loadView() {
createWebView()
}
Run Code Online (Sandbox Code Playgroud)
预期的行为是该应用程序将启动并显示代码中其他地方指定的不变的网页。实际结果是该应用程序EXC_BAD_ACCESS在启动时崩溃并显示错误。
我正在尝试UIViewController在我的 Swift 应用程序中初始化 a但我面临一个我找不到任何明确答案的问题。
我想从 FlowCoordinator 调用它来初始化控制器,但是由于所需的 init?(coder: NSCoder) 函数,我的初始化器需要一个 NSCoder 对象。
MyAwesomeController()
Run Code Online (Sandbox Code Playgroud)
有没有办法以不同的方式初始化控制器,而无需传递NSCoder对象?
如果没有,我该如何创建这样的对象以避免以下异常:
'NSInvalidArgumentException',原因:'*** -decodeObjectForKey:无法发送到类 NSCoder 的抽象对象:创建一个具体实例!'
非常感谢您提前
我正在使用,swift 4并且尝试alertView使用进行用户注册时出错时尝试创建一个Firebase。我有一个IBActionfor sign up按钮,它将使用两个文本来注册用户textfields,一个用于电子邮件,一个用于密码。
我基本上是在尝试显示alertview注册过程中出现错误时(例如,有一个Empty)textfield。
我将函数的屏幕快照附加到发生的地方。我知道我实际上遇到了错误,因为如果有一个print语句,则会输出一个错误。
无论是否存在错误,都不会显示警报视图,并且该应用程序会执行segue。
2019-01-15 21:40:26.368924-0500 Pronto [9036:225268]警告:尝试呈现其视图不在窗口层次结构中的视图
这是我现在显示的alertview的输出。我看过所有其他关于同一问题的文章,但似乎都没有。
我想CMTime字符串一个人类可读的。
所以我找到了下面的代码。
extension CMTime {
var durationText:String {
let totalSeconds = CMTimeGetSeconds(self)
let hours:Int = Int(totalSeconds / 3600)
let minutes:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 3600) / 60)
let seconds:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 60))
if hours > 0 {
return String(format: "%i:%02i:%02i", hours, minutes, seconds)
} else {
return String(format: "%02i:%02i", minutes, seconds)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有30 second视频文件。它的CMTime价值是17945。
我期待这个 durationText 00:30。
但结果是00:29。
和其他视频文件一样。
我应该修复什么??
我有一个 swift 应用程序的源代码,它是为iOS使用swift 3.
我想在 Xcode 中运行它,但它永远处于加载状态。我已经尝试了有问题的解决方案Xcode 在加载项目时在启动时冻结,但情况没有改变。
这个源代码的开发者告诉我他曾经Xcode 9.x开发应用程序,所以他建议我尝试 9.x 版本的 Xcode。我想 Xcode 应该向后兼容,但是我想知道使用是否会Xcode 9.x改变情况,或者我应该在其他地方寻找原因?
我不明白该如何UnsafeMutablePointer在Swift 3中使用AURenderCallback。
我尝试下面的代码:
import Foundation
import AudioToolbox
let sineFrequency = 880.0
// MARK: User data struct
struct SineWavePlayer {
var outputUnit: AudioUnit? = nil
var startingFrameCount: Double = 0
}
// MARK: Callback function
let SineWaveRenderProc: AURenderCallback = {(inRefCon, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData) -> OSStatus in
var player = UnsafeMutablePointer<SineWavePlayer>(inRefCon)
var j = player.pointee.startingFrameCount
let cycleLength = 44100 / sineFrequency
for frame in 0..<inNumberFrames {
var buffers = UnsafeMutableAudioBufferListPointer(ioData)
UnsafeMutablePointer<Float32>(buffers[0].mData)[Int(frame)] = Float32(sin(2 * M_PI * …Run Code Online (Sandbox Code Playgroud) 我对 aUISearchBar/UISearchBarDelegate和 a之间的区别感到困惑UISearchBarController。
现在,这就是我为实现搜索栏所做的工作:
class SearchViewController: UIViewController {
@IBOutlet weak var searchBar: UISearchBar!
}
extension SearchViewController: UISearchBarDelegate {
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
if !searchBar.text!.isEmpty {
performSegue(withIdentifier: "Search", sender: searchBar.text!)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在网上看到有人在做这样的事情:
let searchController = UISearchController(searchResultsController: nil)
Run Code Online (Sandbox Code Playgroud)
这和我正在做的事情有什么区别?
我有一个名为messageDict的属性,有时它会因为该应用程序崩溃而获得nil值.有人可以建议我如何妥善处理它.
var messageDict : [String : NSArray]?
if let messageDict = messageDict {
let messageArray = messageDict[outBoxId]! as! [MCOIMAPMessage] // crash indicates here
}
Run Code Online (Sandbox Code Playgroud)
如果数据可用,我将存储在数据下面.有时它会是零
Message-ID: CABQG1ZJT0a7=NExme6VWA6iRpe6Du5LViuA9kZf-QbqOyX1RfQ@mail.gmail.com
References: [dca79b0a-ea55-a4f6-aef3-9097559148f5@peoplelogic.in,CABQG1ZKpat9nGSOjs-Q341bmn0vkiVH+CdFpu2JgkC92KO_K=Q@mail.gmail.com]
In-Reply-To: [CABQG1ZKpat9nGSOjs-Q341bmn0vkiVH+CdFpu2JgkC92KO_K=Q@mail.gmail.com]
Run Code Online (Sandbox Code Playgroud) swift ×8
ios ×4
xcode ×3
swift3 ×2
swift4 ×2
cmtime ×1
core-audio ×1
firebase ×1
string ×1
uialertview ×1
uisearchbar ×1
wkwebview ×1
xcode10 ×1
xcode9 ×1