我正在Rust中构建一个将从C/C++代码调用的库.Cargo.toml
配置为将包传输为静态库:
[lib]
crate-type = ["staticlib"]
Run Code Online (Sandbox Code Playgroud)
我有一个测试tests/integration_test.rs
:
extern crate mylibrary;
#[test]
fn it_works() {
hello_world(); // Defined in 'mylibrary'.
}
Run Code Online (Sandbox Code Playgroud)
但是,在运行测试时cargo test
,会输出以下错误:
error[E0463]: can't find crate for `mylibrary`
--> tests\integration_test.rs:1:1
|
1 | extern crate mylibrary;
| ^^^^^^^^^^^^^^^^^^^^^ can't find crate
Run Code Online (Sandbox Code Playgroud)
如果我从那时删除staticlib配置行,Cargo.toml
测试构建并运行正常.
我有两种可能性:
在以不同方式运行测试时,是否需要配置包的构建(即,它不构建静态库)?
我是否需要在测试中以不同方式链接静态库包(即好像它是系统C库)?
从文档中不清楚配置此设置的正确方法是什么,或者如何去做.
我知道以前曾以各种形式提出过这个问题.但是,我不是在寻找"使用https"的答案.我已经在使用HTTPS了,我并不担心有效载荷来回传输的敏感性.
但是,我正在处理的iPhone应用程序正在与我构建的REST API进行通信(我已经控制了应用程序和服务器 - 因此欢迎任何建议).
我使用OAuth2协议进行身份验证,这意味着我的"API密钥"是客户端ID和客户端密钥的组合,只需要传输即可获取access_token
.之后,使用access_token
包含请求主体的HMAC的头部(使用客户端秘密作为密钥)将所有请求发送到服务器.这种添加的唯一原因是有人无法使用JUST进行API请求access_token
.
我正在谈论的API将在我发布应用程序时公开.所以我不一定担心别人能够对它进行API调用.
我关心的是:
我的猜测是,这个问题并没有真正的解决方案(除了使用UIWebView并制作一个美化的webapp),但我想我还是会在这里问一下.
如果应用程序需要使用客户端ID /客户端密码,您能想到保护客户端ID /客户端密钥的方法吗?
我试图在发送产品ID列表后对从Apple Server收到的SKProduct数组进行排序.
我想通过使用以下内容进行排序:
NSSortDescriptor *lowestPriceToHighest = [NSSortDescriptor sortDescriptorWithKey:@"self.price" ascending:YES];
NSArray *sortedProducts = [products sortedArrayUsingDescriptors:[NSArray arrayWithObject:lowestPriceToHighest]];
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息:Unable to access variable "lowestPriceToHighest"
我的排序描述符是否被错误地定义了?
encryption ×1
ios ×1
iphone ×1
nsarray ×1
rust ×1
rust-cargo ×1
security ×1
sorting ×1
storekit ×1