小编Joj*_*dmo的帖子

"[this]"在C++中意味着什么

当我阅读Cocos2dx 3.0API时,我发现了这样的事情:

auto listener = [this](Event* event){
    auto keyboardEvent = static_cast<EventKeyboard*>(event);
    if (keyboardEvent->_isPressed)
    {
        if (onKeyPressed != nullptr)
            onKeyPressed(keyboardEvent->_keyCode, event);
    }
    else
    {
        if (onKeyReleased != nullptr)
            onKeyReleased(keyboardEvent->_keyCode, event);
    }
};
Run Code Online (Sandbox Code Playgroud)

什么[this]意思?这是新的语法C++11吗?

c++ api syntax cocos2d-x c++11

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

在应用程序购买恢复按钮

我已经第一次将应用内购买应用到我的应用更新中,只是等了3周并因为以下原因拒绝了:

我们发现您的应用提供了可以恢复的应用内购买,但它不包含"恢复"功能,以允许用户恢复之前购买的应用内购买.要恢复以前购买的应用程序内购买产品,最好提供"恢复"按钮,并在点击"恢复"按钮时启动恢复过程.

现在我想在navbar我的桌子右侧(顶部)添加一个按钮,可以看到/点击应用程序购买并添加以下代码链接到按钮:

 [[SKPaymentQueue defaultQueue]   restoreCompletedTransactions];
Run Code Online (Sandbox Code Playgroud)

有人可以验证这是否正确并且很可能只需要所有这些?希望这次成功通过.提前致谢!

in-app-purchase appstore-approval ios

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

java中a + = 10和a = a + 10之间的差异?

a += 10a = a + 10两者是一样的,还是它们之间有一些区别?我在学习Java作业时遇到了这个问题.

java variable-assignment

26
推荐指数
3
解决办法
4154
查看次数

尝试使用Application Loader上传应用程序时出现错误ITMS-9000

当我尝试使用应用程序加载器将应用程序上传到iTunes Connect时,我收到以下错误:

Apple的Web服务操作并不成功

无法验证包:(app id).itmsp

错误ITMS-9000:"无效的代码签名权利.您的应用程序包的签名包含iOS不支持的代码签名权利.具体而言,'Payload/brainademy.app/brainademy'中关键'aps-environment'的值'开发'是不支持." 在SoftwareAssets/SoftwareAsset(MZItmspSoftwareAssetPackage)

这已经发生了大约36个小时,Apple支持告诉我在30分钟内再试一次(这显然不起作用).

我正在使用Xcode和应用程序加载器的最新版本,我正在使用物理iPhone构建,并且我已将存档设置为release.当我点击Activity...一切正常,然后我看到:

错误ITMS-9000:"无效的代码签名权利......

然后一切正常,直到我看到

与iTunes Store通话时出错

xcode itunesconnect ios application-loader

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

CLLocationManager.authorizationStatus()始终使用swift&objC app确认CLAuthorizationStatus.NotDetermined

我只能让我的CLLocationManager进行授权.(在ios8下迅速)我甚至添加了一个显式的requestAlwaysAuthorization调用(在ios7下我不需要使用objC)

func finishLaunch() {
    //ask for authorization
    let status = CLLocationManager.authorizationStatus()
    if(status == CLAuthorizationStatus.NotDetermined) {
        self.locationManager.requestAlwaysAuthorization();
    }
    else {
        self.startMonitoring()
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

回调永远不会得到任何东西,但NotDermined并没有向用户显示UIAlertView.

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
    if(status == CLAuthorizationStatus.NotDetermined) {
        println("Auth status unkown still!");
    }
    self.startMonitoring()
}
Run Code Online (Sandbox Code Playgroud)

我做错了吗? - 对我来说感觉像个臭虫,但我想要一些反馈

cllocationmanager swift ios8

21
推荐指数
1
解决办法
3万
查看次数

iOS点按即可关注

我使用此代码在iOS自定义相机应用程序中实现Tap-to-Focus,但它无法正常工作.这是代码

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    let touchPer = touches.anyObject() as UITouch
    let screenSize = UIScreen.mainScreen().bounds.size
    var focus_x = touchPer.locationInView(self.view).x / screenSize.width
    var focus_y = touchPer.locationInView(self.view).y / screenSize.height

    if let device = captureDevice {
        if(device.lockForConfiguration(nil)) {
            device.focusMode = AVCaptureFocusMode.ContinuousAutoFocus

            device.focusPointOfInterest = CGPointMake(focus_x, focus_y)
            device.exposureMode = AVCaptureExposureMode.ContinuousAutoExposure
            device.unlockForConfiguration()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ios avcapturesession swift

20
推荐指数
5
解决办法
9030
查看次数

如何将实时摄像头预览添加到UIView

我遇到了一个问题,我正试图在UIView边界内解决,有没有办法将相机预览添加到UIView?并在UIView(按钮,标签等)上添加其他内容?

我尝试使用AVFoundation Framework,但没有足够的Swift文档.

iphone avfoundation ios swift

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

withSnsafePointer in Swift 2

我正在尝试检查用户是否具有互联网连接,并且该过程的一部分涉及调用withUnsafePointer.在Swift 1.x中,我能够使用:

var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)

let defaultRouteReachability = withUnsafePointer(&zeroAddress){
    SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0)).takeRetainedValue()
}
Run Code Online (Sandbox Code Playgroud)

但是现在使用Swift 2,我收到一个错误说法

无法使用类型为'(inout sockaddr_in,(_) - > _)'的参数列表调用'withUnsafePointer'

我看了Xcode的用法,它是:

在此输入图像描述

所以我尝试使用

withUnsafePointer(&zeroAddress) {(pointer: UnsafePointer<sockaddr_in>) -> sockaddr_in in
    SCNetworkReachabilityCreateWithAddress(nil, pointer).takeRetainedValue()
}
Run Code Online (Sandbox Code Playgroud)

以及

withUnsafePointer(&zeroAddress) {(pointer: UnsafePointer<sockaddr_in>) -> AnyObject in
    SCNetworkReachabilityCreateWithAddress(nil, pointer).takeRetainedValue()
}
Run Code Online (Sandbox Code Playgroud)

它们都会产生cannot invoke...编译时错误.withUnsafePointer在Swift 2.x中使用的正确方法是什么?

swift swift2

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

自定义AVVideoCompositing类无法按预期工作

我正在尝试将CIFilter应用于AVAsset,然后在应用过滤器的情况下保存它.我这样做的方法是使用AVAssetExportSessionwith videoCompositionset设置为AVMutableVideoComposition具有自定义AVVideoCompositing类的对象.

我还将instructions我的AVMutableVideoComposition对象设置为自定义组合指令类(符合AVMutableVideoCompositionInstruction).这个类传递了一个跟踪ID,以及一些其他不重要的变量.

不幸的是,我遇到了一个问题 - startVideoCompositionRequest:我的自定义视频合成器类(符合AVVideoCompositing)中的函数没有被正确调用.

当我将passthroughTrackID自定义指令类的变量设置为轨道ID时,startVideoCompositionRequest(request)我的函数AVVideoCompositing不会被调用.

然而,当我没有设置passthroughTrackID我的自定义指令类的变量,将startVideoCompositionRequest(request) 调用,但没有正确-打印request.sourceTrackIDs结果空数组,并request.sourceFrameByTrackID(trackID)导致零值.

我发现有趣的是,cancelAllPendingVideoCompositionRequests:在尝试使用过滤器导出视频时,该函数总是被调用两次.startVideoCompositionRequest:startVideoCompositionRequest:未调用的情况下,它要么被调用一次,要么被调用一次,或者连续两次被调用.

我创建了三个用于导出带过滤器的视频的类.这是实用程序类,它基本上只包含一个export函数并调用所有必需的代码

class VideoFilterExport{

    let asset: AVAsset
    init(asset: AVAsset){
        self.asset = asset
    }

    func export(toURL url: NSURL, callback: (url: NSURL?) -> Void){
        guard let track: AVAssetTrack = self.asset.tracksWithMediaType(AVMediaTypeVideo).first else{callback(url: nil); return}

        let composition …
Run Code Online (Sandbox Code Playgroud)

ios avcomposition avvideocomposition avassetexportsession swift

16
推荐指数
2
解决办法
2544
查看次数

将CIFilter应用于视频文件并保存

是否有任何快速,轻量级的方式应用于CIFilter视频?在提到它之前,我已经看过GPUImage - 它看起来像是非常强大的魔法代码,但它对我正在尝试做的事情来说真的太过分了.

基本上,我想

  1. 拿一个视频文件,比如存储在 /tmp/myVideoFile.mp4
  2. CIFilter视频文件应用于此视频文件
  3. 比如说,将视频文件保存到不同的(或相同的)位置 /tmp/anotherVideoFile.mp4

我已经能够将CIFilter应用到一个非常容易和快速使用的视频中 AVPlayerItemVideoOutput

let player = AVPlayer(playerItem: AVPlayerItem(asset: video))
let output = AVPlayerItemVideoOutput(pixelBufferAttributes: nil)
player.currentItem?.addOutput(self.output)
player.play()

let displayLink = CADisplayLink(target: self, selector: #selector(self.displayLinkDidRefresh(_:)))
displayLink.addToRunLoop(NSRunLoop.mainRunLoop(), forMode: NSRunLoopCommonModes)

func displayLinkDidRefresh(link: CADisplayLink){
    let itemTime = output.itemTimeForHostTime(CACurrentMediaTime())
    if output.hasNewPixelBufferForItemTime(itemTime){
        if let pixelBuffer = output.copyPixelBufferForItemTime(itemTime, itemTimeForDisplay: nil){
            let image = CIImage(CVPixelBuffer: pixelBuffer)
            // apply filters to image
            // display image
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个伟大的工程,但我一直有很多只是麻烦哪怕一丁点找出如何将过滤器应用到已保存的视频文件.有一个选项,基本上只是做我上面做的,使用AVPlayer,播放视频,并在播放时从每一帧获取像素缓冲区,但这不适用于后台视频处理.我不认为用户会喜欢等待他们的视频用于过滤器的应用. …

ios avasset cifilter swift

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