我想要做的是将视频保存到PHPhotoLibrary,然后在上传到应用程序中的客户端远程服务器时将其删除(基本上,照片库充当临时存储,以便在任何事情都失败的情况下添加额外的安全层(I已经将我的视频保存在应用程序目录中).
问题:
问题是要工作,一切都必须在没有用户输入的情况下工作.您可以将视频写入照片库,如下所示:
func storeVideoToLibraryForUpload(upload : SMUpload) {
if PHPhotoLibrary.authorizationStatus() != PHAuthorizationStatus.Authorized {
// Don't write to library since this is disallowed by user
return
}
PHPhotoLibrary.sharedPhotoLibrary().performChanges({ () -> Void in
// Write asset
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromVideoAtFileURL(NSURL(fileURLWithPath: upload.nonsecureFilePath!)!)
let assetPlaceholder = assetRequest.placeholderForCreatedAsset
let localIdentifier = assetPlaceholder.localIdentifier
// Store local identifier for later use
upload.localAssetIdentifier = localIdentifier
}, completionHandler: { (success, error) -> Void in
....
})
}
Run Code Online (Sandbox Code Playgroud)
这完美无瑕地工作,我得到本地标识符,我存储它供以后使用..独角兽和彩虹.
现在,当我想在上传完成后立即删除该视频时,我会调用以下内容:
func removeVideoFromLibraryForUpload(upload : SMUpload) {
// Only proceed if there …
Run Code Online (Sandbox Code Playgroud) 我对iOS开发很新.现在我正在尝试隐藏我的标签栏,当我向下滚动时,向上滚动标签栏应该出现.我想像导航栏一样以动画制作动画.对于导航栏,我只需单击"属性"检查器中的选项.我看到了工具栏的一些示例,但我不能将其作为标签栏.
self.tabBarController?.tabBar.hidden = true
只是隐藏我的tabbar,但它不像导航控制器那样动画.
我可以使用,在Instagram上成功分享图像UIDocumentInteractionController
,但InstagramCaption
密钥不起作用.这是我的代码:
self.controller = UIDocumentInteractionController()
// controller.delegate = self
self.controller.URL = fileUri
// HERE, the caption won't appear.
self.controller.annotation = NSDictionary(objectsAndKeys: "my caption", "InstagramCaption")
self.controller.UTI = "com.instagram.exclusivegram"
self.controller.presentOpenInMenuFromRect(CGRectZero, inView: self.view, animated: true)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
所以我试图用一些方便的函数来扩展Swift的整数类型,但是我还不清楚我应该扩展哪些协议.
作为一个例子,假设我想实现一个用于钳位值的函数(如果它小于最小值,则将其设置为该值,否则如果它大于最大值则将其设置为该值).我的第一个想法是做这样的事情:
extension Int {
func clamp(minimum:Int, maximum:Int) {
if self < minimum { return minimum }
if self > maximum { return maximum }
return self
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个简单的例子,但它说明了问题; 如果我现在想要调用它,UInt
那么我自然也不能,所以我必须添加一个等价物UInt
,但这对于UInt16
等等不适用.
我认为我可以在链上向上扩展一些东西,然后使用泛型,但是IntegerType
似乎无法扩展协议.
那么,是否有更合适的地方可以放置我的扩展程序?
大家好,标题提到我正试图用快速语言从我的Redis服务器发送和接收数据.我已经做了很多研究,我无法得到关于这个主题的好答案,我最接近的是NSStream
或几个Github项目(其中大部分都有破碎的代码),我一直试图为3创建一个解决方案几天了,请有人帮忙.
端口6379上Redis的连接要求:
问题:
EXC_BAD_ACCESS(code=1, address=XXXXXXXX)
SOMETIMES具有初始化的类(Redis): 最接近我可以达到我理解NSStream的过程的级别,但是再次在我的对话框中没有打印任何返回的内容,我无法弄清楚出了什么问题.
class Redis: NSObject, NSStreamDelegate {
//Intilizing Stream & Requirement
var endPoint: CFString?
var onPort: UInt32?
var inputStream: NSInputStream?
var outputStream: NSOutputStream?
Run Code Online (Sandbox Code Playgroud)
服务器连接功能:
func serverConnection(endPoint: CFString, onPort: UInt32){
//Streams Init
let Host: CFString = endPoint
let Port: UInt32 = onPort
var readStream: Unmanaged<CFReadStream>?
var writeStream: Unmanaged<CFWriteStream>?
//Bind Streams to Host and Port
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, Host, Port, …
Run Code Online (Sandbox Code Playgroud) 我的变种:
@IBOutlet weak var imageView: UIImageView!
Run Code Online (Sandbox Code Playgroud)
拍照功能:
func takePhoto(){
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
presentViewController(picker, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
快照未呈现的视图会导致空快照.确保在屏幕更新后快照或快照之前至少渲染了一次视图
有任何想法吗?
我们正在开发iOS 8.0及更高版本的应用程序.此应用程序需要身份验证(或用户注册).在网站上,我们使用html表单注册和登录用户.这些形式是敏感的.用户还可以单击"使用Facebook登录"按钮以使用FB凭据登录.这个按钮是用FB的SDK for Javascript(v2.4)实现的
因此,我们不希望在我们的iOS应用程序上实现注册和日志的本机屏幕,但我们宁愿实现一个带有WKWebView
元素的视图控制器来处理这种浏览体验.
但是,我们注意到,当用户点击"使用Facebook登录我"按钮时,没有任何反应.FB打开以询问用户登录和授予权限的典型弹出窗口永远不会出现.
以下是我们如何初始化WKWebView
:
class LoginViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {
var webView: WKWebView
@IBOutlet weak var cancelButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(webView)
webView.setTranslatesAutoresizingMaskIntoConstraints(false)
let height = NSLayoutConstraint(item: webView, attribute: .Height, relatedBy: .Equal, toItem: view, attribute: .Height, multiplier: 1, constant: 0)
let width = NSLayoutConstraint(item: webView, attribute: .Width, relatedBy: .Equal, toItem: view, attribute: .Width, multiplier: 1, constant: 0)
view.addConstraints([height, width])
loadDefaultUrl()
}
required init(coder aDecoder: NSCoder){
let config = WKWebViewConfiguration()
config.preferences.javaScriptCanOpenWindowsAutomatically = …
Run Code Online (Sandbox Code Playgroud) 我有一个用swift编写的应用程序,它使用AFNetwork和其他一些用Obj编写的帮助程序.在我的客户端设备(iPhone 6+)上他收到了一个SIGTRAP错误,我试图在我们拥有的测试设备和所有模拟器上重新创建问题,但无法重新创建它.
下面是堆栈跟踪,它崩溃了两次:http: //paste.ubuntu.com/12077304/ 当我象征崩溃报告时,它指向:
-[Instagram getOwnBaseUrl] (in DiaryApp) (Instagram.m:118)
Run Code Online (Sandbox Code Playgroud)
在第二个实例中,它指向:
[UIAlertView(AFNetworking) showAlertViewForTaskWithErrorOnCompletion:delegate:cancelButtonTitle:otherButtonTitles:]_block_invoke (in DiaryApp) (UIAlertView+AFNetworking.m:72)
Run Code Online (Sandbox Code Playgroud)
崩溃日志:http://paste.ubuntu.com/12077328/
我无法确定崩溃的确切原因.在这方面的任何帮助将受到高度赞赏.
谢谢.
我想将存储在iPhone上的视频放到我的Google云端硬盘中.我已经完成了图像,但对于视频,这是另一个问题...
对于图像,没问题,我用这种方法将我的资产转换为NSData:
data = UIImagePNGRepresentation(result!)!
Run Code Online (Sandbox Code Playgroud)
我把图像放到我的驱动器上!
但是,对于视频,我尝试了许多不同的方式,但不,我不能.
我能怎么做 ?
非常感谢 !
protocol Car {
static func foo()
}
struct Truck : Car {
}
extension Car {
static func foo() {
print("bar")
}
}
Car.foo() // Does not work
// Error: Car does not have a member named foo
Truck.foo() // Works
Run Code Online (Sandbox Code Playgroud)
Xcode Car.foo()
正确地自动填充,所以我要问的是它是否是一个不能编译的错误(说它没有一个名为foo()的成员).如果在协议扩展中定义静态方法,可以直接在协议上调用静态方法吗?