我在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
我错过了什么?我在这里包含了两个项目,您可以下载它们并尝试存档.
设置:
仅使用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
我允许用户从应用程序注册到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) 我正在编写一个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做过类似的事情,但此时我完全迷失了.
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) asp.net ×2
asp.net-mvc ×2
android ×1
c# ×1
encryption ×1
ios ×1
java ×1
swift ×1
websocket ×1
xcode ×1