小编par*_*tkr的帖子

xcode 7.1 swift框架应用程序构建但不归档

我在Swift,xcode 7.1中创建了一个示例框架.然后构建该框架用于Profiling,发布版本.然后将发布的框架添加(嵌入)到iOS测试应用程序.

该应用程序构建正常,但在尝试存档时.发生错误,指出 "无法生成bitcode包,因为'.../Test/FW.framework/FW'是在没有完整bitcode的情况下构建的.bitcode的所有框架和dylib都必须从Xcode Archive或者build build for architecture arm64生成"

Framework和app项目处于默认设置,两者都启用了Bitcode.

要确保Framework有bitcode,这个命令就在Framework上

"otool -l FW.framework/FW | grep __LLVM"

产量

segname __LLVM

segname __LLVM

segname __LLVM

segname __LLVM

我错过了什么?我在这里包含了两个项目,您可以下载它们并尝试存档.

xcode ios swift

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

具有Facebook访问令牌的MVC 5 Web API到RegisterExternal而不需要Cookie

设置: 仅使用Web API的新MVC5项目.添加了Facebook AppId和Secret.
我可以Token通过传入UserName和Password 从端点获取我的Web API的Token .然后使用该令牌进行进一步调用.

我想在iOS应用程序的Facebook SDK的帮助下注册新用户.我正在使用Facebook SDK来获取访问令牌.(假设此时我有一个访问令牌).

我知道的下一件事是api/Account/RegisterExternal通过在Authorization标头中传递此标记来调用端点,Bearer [Access Token]但这导致500服务器错误.

我想我知道原因,Cookie丢失了.我用Fidler的一个cookie做了同样的电话,但它确实奏效了.(通过转到ExternalLogins端点提供的URL来接收Cookie ).由于await Authentication.GetExternalLoginInfoAsync();RegisterExternal操作中缺少cookie,因此返回null.

// POST api/Account/RegisterExternal
[OverrideAuthentication]
[HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
[Route("RegisterExternal")]
public async Task<IHttpActionResult> RegisterExternal(RegisterExternalBindingModel model)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    var info = await Authentication.GetExternalLoginInfoAsync();
    if (info == null)
    {
        return InternalServerError();
    }

    var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };

    IdentityResult result = await UserManager.CreateAsync(user);
    if …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-web-api asp.net-mvc-5 asp.net-web-api2

12
推荐指数
1
解决办法
7860
查看次数

手动授予访问令牌MVC Web API

我允许用户从应用程序注册到MVC Web API.该应用程序通过电子邮件,但没有密 我添加用户并分配一个随机密码,我将其邮寄给用户.

我不希望应用程序两次调用api来获取令牌.所以,对于这个请求,我想返回一个/token端点返回的oauth标记.

我正在尝试这个但是来自此请求的令牌会被拒绝访问.我在这里错过了什么?如果有更好的方式,非常感谢.

Web API具有Web API模板等默认配置.什么都不习惯.我想保持这种方式.

        ClaimsIdentity identity = new ClaimsIdentity(OAuthDefaults.AuthenticationType);
        Claim providerKeyClaim = new Claim(ClaimTypes.Email, model.Email, ClaimValueTypes.String, "DrySignup", "DrySignup");

        ExternalLoginData externalLogin = new ExternalLoginData
        {
            LoginProvider = providerKeyClaim.Issuer,
            ProviderKey = providerKeyClaim.Value,
            UserName = identity.FindFirstValue(ClaimTypes.Email)
        };

        var info = new ExternalLoginInfo()
        {
            DefaultUserName = model.Email,
            Login = new UserLoginInfo(providerKeyClaim.Issuer, externalLogin.ProviderKey)
        };

        result = await UserManager.AddLoginAsync(user.Id, info.Login);
        if (!result.Succeeded)
        {
            return GetErrorResult(result);
        }

        identity = await UserManager.CreateIdentityAsync(user, OAuthDefaults.AuthenticationType);
        IEnumerable<Claim> claims = externalLogin.GetClaims();
        identity.AddClaims(claims);
        Authentication.SignIn(identity);

        AuthenticationTicket ticket …
Run Code Online (Sandbox Code Playgroud)

model-view-controller asp.net-mvc asp.net-web-api

6
推荐指数
1
解决办法
5485
查看次数

从WebSocketCollection获取特定客户端

我正在编写一个websocket处理程序,它应该从一个客户端向另一个客户端发送消息.

public class SocketHandler : WebSocketHandler
{
    private static WebSocketCollection clients = new WebSocketCollection();

    private int id;

    public override void OnOpen()
    {
        this.id = Convert.ToInt32(Cypher.Decrypt(this.WebSocketContext.QueryString["id"]));
        clients.Add(this);         
    }

    public override void OnMessage(string message)
    {
        //sending code here
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道是否需要向所有连接的客户端发送消息,我只需要做:

clients.Broadcast("message");

...但我需要的是发送给具有特定客户端的特定客户端,Id从查询字符串中分配给它 - 让我们说1156.

如何id=1156从客户端集合中获取客户端?

我尝试使用lambda表达式,但它不起作用.它应该很简单......我之前在LINQ做过类似的事情,但此时我完全迷失了.

c# asp.net websocket

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

Android中的AES解密算法

public static String Encrypt(String text){
    try {           
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        byte[] keyBytes= new byte[16];
        byte[] b= KEY.getBytes("UTF-8");
        int len= b.length;
        if (len > keyBytes.length) len = keyBytes.length;
        System.arraycopy(b, 0, keyBytes, 0, len);
        SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES");
        IvParameterSpec ivSpec = new IvParameterSpec(keyBytes);
        cipher.init(Cipher.ENCRYPT_MODE,keySpec,ivSpec);

        byte[] results = cipher.doFinal(text.getBytes("UTF-8"));
        String result = Base64.encodeToString(results, 0);
        //result = URLEncoder.encode(result.trim(),"UTF-8");
        return result;

    } catch (Exception e) {
        // TODO: handle exception
        return null;
    }
}   

public static String Decrypt(String text){
    try {           
        Cipher …
Run Code Online (Sandbox Code Playgroud)

java encryption android

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