小编Lau*_*ent的帖子

Swift 2中的新@convention(c):我该如何使用它?

迁移到Swift 2之后,我遇到了一个错误,说明我现在应该使用@convention(c)(T) - > U.我尝试了排列,但到目前为止还没有运气.

func foo(context: AnyObject?, width: CGFloat) -> Int {

}

let bar = unsafeBitCast(foo, CFunctionPointer<(UnsafeMutablePointer<Void>, Float) -> Int>.self)
Run Code Online (Sandbox Code Playgroud)

swift swift2

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

在Go中将自定义类型转换为字符串

在这个奇怪的例子中,有人创建了一个新类型,它实际上只是一个字符串:

type CustomType string

const (
        Foobar CustomType = "somestring"
)

func SomeFunction() string {
        return Foobar
}
Run Code Online (Sandbox Code Playgroud)

但是,此代码无法编译:

不能在返回参数中使用Foobar(类型CustomType)作为类型字符串

你如何修复SomeFunction,以便它能够返回Foobar("somestring")的字符串值?

string type-conversion go

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

Firebase Auth使用电话号码返回内部错误

我设置了我的应用程序,以便能够使用firebase发送Apple Notifications,并且我使用控制台验证了它的工作原理.现在我想做一个建立在APN之上的电话认证.

所以我写了这个:

PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber) { verificationID, error in
  if error != nil {
    print("Verification code not sent \(error!)")
  } else {
    print ("Successful.")
  }
Run Code Online (Sandbox Code Playgroud)

我得到:

Error Domain=FIRAuthErrorDomain Code=17999 "An internal error has occurred, print and inspect the error details for more information." UserInfo={NSUnderlyingError=0x170046db0 {Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey={
    code = 500;
    message = "<null>";
}}}, error_name=ERROR_INTERNAL_ERROR, NSLocalizedDescription=An internal error has occurred, print and inspect the error details for more information.}
Run Code Online (Sandbox Code Playgroud)

任何的想法?我应该提交针对firebase的错误吗?

我正在使用iOS SDK 4.0.0(我能找到最新的zip.)

更新:

加入我禁用方法混写FirebaseAppDelegateProxyEnabledinfo.plist并将其设置为 …

apple-push-notifications ios firebase firebase-authentication

13
推荐指数
2
解决办法
7270
查看次数

左侧的右值

为什么这段代码会编译?我认为ctor返回的rvalues不在内存中,因此不能用作左值.

#include <iostream>
#include <vector>

class Y {
public :
    explicit Y(size_t num = 0)
    : m_resource {std::vector<int>(num)}
    {
    }

    std::vector<int> m_resource;
};

int main(int argc, const char * argv[]) {
    Y(1) = Y(0); // WHAT?!?
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ rvalue lvalue-to-rvalue c++11

8
推荐指数
1
解决办法
778
查看次数

无法在MacOSX上的Android Studio之外启动Android模拟器

我将qemu进程固定到扩展坞然后退出并再次单击它后,我收到以下错误.有没有办法直接从Finder启动模拟器而不先去Android Studio?

   /Users/johnny/Develop/android/sdk/tools/qemu/darwin-x86_64/qemu-system-x86_64 ; exit;
    dyld: Library not loaded: libQt5Widgets.5.dylib
      Referenced from: /Users/johnny/Develop/android/sdk/tools/qemu/darwin-x86_64/qemu-system-x86_64
      Reason: image not found
    [1]    48616 trace trap  /Users/johnny/Develop/android/sdk/tools/qemu/darwin-x86_64/qemu-system-x86_6

    [Process completed]
Run Code Online (Sandbox Code Playgroud)

macos android android-studio

8
推荐指数
2
解决办法
2810
查看次数

在源集中定义jni和jniLibs时,Android Studio 1.3 gradle插件会返回错误

找不到属性jni和源设置'main'

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 21
        buildToolsVersion = "22.0.1"

        defaultConfig.with {
            applicationId = "com.example.native_activity"
            minSdkVersion.apiLevel = 9
            targetSdkVersion.apiLevel = 9
        }

        sourceSets.main {
            jni.srcDirs = [] // This prevents the auto generation of Android.mk
            jniLibs.srcDir = 'src/main/libs'
            // This is not necessary unless you have precompiled libraries in your project.
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪:

Caused by: org.gradle.model.internal.core.ModelRuleExecutionException: Exception thrown while executing model rule: model.android
    at org.gradle.model.internal.registry.DefaultModelRegistry.fireMutation(DefaultModelRegistry.java:485)
    at org.gradle.model.internal.registry.DefaultModelRegistry.access$1500(DefaultModelRegistry.java:45)
    at org.gradle.model.internal.registry.DefaultModelRegistry$RunModelAction.apply(DefaultModelRegistry.java:1464)
    at org.gradle.model.internal.registry.DefaultModelRegistry.transitionTo(DefaultModelRegistry.java:341)
    at org.gradle.model.internal.registry.DefaultModelRegistry.transition(DefaultModelRegistry.java:419)
    at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrMaybeLater(DefaultModelRegistry.java:183) …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

7
推荐指数
3
解决办法
6226
查看次数

结构不能有引用自身的存储属性

我不明白为什么我被迫使用 aclass而不是 astruct

这有效,但我必须使用构造函数:

class Token {
    var i: Int
    var prev: Token?
    var next: Token?
    init(i: Int) {
        self.i = i
    }
}
Run Code Online (Sandbox Code Playgroud)

这并不能给出下面烦人的信息。

struct Token {
    var i: Int
    var prev: Token?
    var next: Token?
}
Run Code Online (Sandbox Code Playgroud)

错误:值类型“令牌”不能具有引用自身的存储属性

Swift 有什么理由struct区别对待 a吗?

swift

6
推荐指数
0
解决办法
3585
查看次数

使用vDSP API进行Swift编译的转换参数

我正在尝试使用Swift中的vDSP API来使用Accelerate框架.显然我做错了,虽然编译器给了我各种警告

var srcAsFloat:CConstPointer<CFloat> = CFloat[](count: Int(width*height), repeatedValue: 0)
var dstAsFloat = CFloat[](count: Int(width*height), repeatedValue: 0)

if shouldClip {
    var min:CFloat = 0.0
    var max:CFloat = 255.0
    var l:vDSP_Stride = Int(width*height)
    vDSP_vclip(CConstPointer<CFloat>(&dstAsFloat), vDSP_Stride(1), CConstPointer<CFloat>(&min), CConstPointer<CFloat>(&max), CMutablePointer<CFloat>(&dstAsFloat), vDSP_Stride(1), l)
}
Run Code Online (Sandbox Code Playgroud)

错误:

error: could not find an overload for 'init' that accepts the supplied arguments 
    vDSP_vclip(CConstPointer<CFloat>(&dstAsFloat), 
    vDSP_Stride(1), 
    CConstPointer<CFloat>(&min), 
    CConstPointer<CFloat>(&max), 
    CMutablePointer<CFloat>(&dstAsFloat), 
    vDSP_Stride(1), 
    l) – 
Run Code Online (Sandbox Code Playgroud)

我试图摆脱它,但到目前为止,没有运气.

ios accelerate-framework swift

5
推荐指数
1
解决办法
1143
查看次数

为什么httputil.NewSingleHostReverseProxy在某些www网站上导致错误?

在下面的示例中:

package main

import (
    "fmt"
    "log"
    "net/http"
    "net/http/httputil"
    "net/url"
)

func main() {
    p := new(Proxy)
    //host := "www.google.com" // WORKS AS EXPECTED
    host := "www.apple.com" // GIVES AN ERROR
    u, err := url.Parse(fmt.Sprintf("http://%v/", host))
    if err != nil {
        log.Printf("Error parsing URL")
    }
    p.proxy = httputil.NewSingleHostReverseProxy(u)
    http.Handle("/", p)
    log.Fatal(http.ListenAndServe("localhost:8000", nil))
}

type Proxy struct {
    proxy *httputil.ReverseProxy
}

func (p *Proxy) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    p.proxy.ServeHTTP(w, r)
}
Run Code Online (Sandbox Code Playgroud)

将Chrome链接到'localhost:8000'时,将'www.google.com'与'www.apple.com'交换会导致此错误:

无效的网址

请求的URL"/"无效.参考编号#9.a61a32b8.1438231668.41733295

为www.apple.com做一点挖掘,我得到:

?  ~  curl --ipv4 -v …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy http go

5
推荐指数
1
解决办法
1684
查看次数

ModuleMap路径解析

我在dylib周围创建了自己的包装器.然后我创建了一个头文件来从这个库中导出符号.我遇到了这个标头在包装器中的情况,而modulemap找不到它.

> MyFramework (project directory)

  > MyFramework.xcconfig

    MODULEMAP_FILE[sdk=macosx*] = $(SRCROOT)/MyFramework/macosx.modulemap


  > macosx.modulemap:

    module MyFramework [system] {
      header "MyFramework.h"     // CAN NOT FIND THE FILE
      export *
    }

  > MyFramwork.h (contains a bunch of declarations)
Run Code Online (Sandbox Code Playgroud)

我找到了在SDK中指向绝对路径的示例,但我真的不想在我的本地驱动器上硬编码我的项目的路径.

我尝试用$(SRCROOT)/ MyFramework和其他相关选项为文件名加前缀,但没有运气.

我应该用什么呢?

xcode swift

5
推荐指数
1
解决办法
2635
查看次数