我正在尝试使用SQLCipher将未加密的sqlite3数据库的内容添加到加密的数据库中.我根据我所试图做掉的这个和这个.然而,有些事情我不清楚.
在行ATTACH DATABASE,加密数据库必须是类型.db?可以.sqlite匹配我的原始数据库吗?
说加密数据库必须已经存在吗?如果是这样,它应该在应用程序中的哪个位置?我是否必须提供文件路径(文档目录等)?
我在哪里可以找到成功加密的数据库?它会在哪里得救?
这是我的代码:
+ (void)encryptDB
{
sqlite3 *unencrypted_DB;
NSString *path_u = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
stringByAppendingPathComponent:@"dict.sqlite"];
if (sqlite3_open([path_u UTF8String], &unencrypted_DB) == SQLITE_OK) {
NSLog(@"Database Opened");
// Attach empty encrypted database to unencrypted database
sqlite3_exec(unencrypted_DB, "ATTACH DATABASE 'dict_encrypted.sqlite' AS encrypted KEY '1234';", NULL, NULL, NULL);
// Create new tables within encrypted database to match those in unencrypted database
sqlite3_exec(unencrypted_DB, "CREATE TABLE encrypted.t1(A,B,C);", NULL, NULL, NULL);
// Copy items …Run Code Online (Sandbox Code Playgroud) 如果用户使用的版本不是最新的,是否有任何方法或插件可以提醒用户升级应用程序?我想我可以 ping 一个 Web 服务来检查当前版本是什么,并与用户的版本进行比较,然后从那里开始。顺便说一句,有没有办法检查应用程序的当前版本(我不知道的某些属性),或者您是否只需将版本硬编码为某些浮点变量或其他东西?
谢谢
我将XML从客户端站点发送到外部服务器.此外部服务器管理员需要验证发件人的IP.我们从主站点(domain.com)发送时脚本工作正常,但我不确定我们何时从主站点的子域发送(sub.domain.com,当前收到错误).有没有办法检查子域的IP,以便我可以给管理员正确的IP地址?
谢谢.
更新:我使用了firefox扩展"IP地址和域信息",并且比较了domain.com和sub.domain.com的信息,两者看起来完全相同.
我试图从视频输入中获取静止图像(基本上是暂停或"快照"功能).我的项目是使用Benjamin Loulier的模板设置的.我的问题是,即使我通过prevLayer(AVCaptureVideoPreviewLayer)在屏幕上显示彩色视频,我已将视频设置设置为灰度,因此我无法从customLayer(常规CALayer)获取UIImage .
我尝试使用此处给出的此函数,但由于某些愚蠢的原因(显示清晰/透明),这对AVCaptureVideoPreviewLayer不起作用.有没有人知道将AVCaptureVideoPreviewLayer的内容保存为UIImage的方法?
我有一个使用摄像机的应用程序,因此屏幕不能变暗.抑制屏幕变暗效果如下:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
}
Run Code Online (Sandbox Code Playgroud)
但是,当应用程序关闭并进入后台时,将IdleTimer设置为NO无法正常工作.屏幕在主屏幕上永远保持不变.这就是我试图实现这一目标的方式.
- (void)applicationWillResignActive:(UIApplication *)application
{
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的地方添加这行代码?
我UIAlertController在Swift中有一个(警报样式),一切正常.但是,UITextField我添加到它的是一个可选字段,用户无需输入文本.问题是当我显示时UIAlertController,键盘与默认选择的文本字段同时出现.除非用户点击,否则我不希望键盘出现UITextField.如何才能做到这一点?
let popup = UIAlertController(title: "My title",
message: "My message",
preferredStyle: .Alert)
popup.addTextFieldWithConfigurationHandler { (optionalTextField) -> Void in
optionalTextField.placeholder = "This is optional"
}
let submitAction = UIAlertAction(title: "Submit", style: .Cancel) { (action) -> Void in
let optionalTextField = popup.textFields![0]
let text = optionalTextField.text
print(text)
}
let cancelAction = UIAlertAction(title: "Cancel", style: .Default, handler: nil)
popup.addAction(cancelAction)
popup.addAction(submitAction)
self.presentViewController(popup, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud) 当用户登录我的应用程序时,我在中收到其个人资料信息(名称,头像等)时MainActivity,我想通过数据绑定用用户参数填充“导航视图标题”中的某些字段。我已经尝试了docs中提出的方法,但也许仅限<include />于此?
activity_main.xml
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="user"
type="com.example.app.models.User" />
</data>
<android.support.v4.widget.DrawerLayout
// layout params... >
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView xmlns:bind="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
bind:user="@{user}" />
</android.support.v4.widget.DrawerLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
nav_header_main.xml
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="user"
type="com.example.app.models.User" />
</data>
<LinearLayout
// layout params... >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="@{user.name}"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
</LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
主要活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.setUser(User.getInstance());
// …Run Code Online (Sandbox Code Playgroud) 有许多线程采用相反的方法,但是我有兴趣从原始C数组转换为NSArray。原因是我想从数组内容创建一个NSString。要创建NSString,我将使用:
NSArray *array;
NSString *stringFromArray = [array componentsJoinedByString:@","];
Run Code Online (Sandbox Code Playgroud)
我用逗号连接数组的元素,因为稍后将字符串保存为.csv文件。我认为这并不重要,但是我要处理的C数组的类型为double,大小为43。
double c_array = new double [43];
Run Code Online (Sandbox Code Playgroud)
谢谢!
我一直在阅读无数其他帖子,并尝试了很多修复,但没有任何方法可以解决我的问题.我将在前2-3个月说我没有在Macbook上使用Xcode.这是唯一一个有这个问题的项目(在我试过的4个左右).打开Xcode后我做的第一件事就是改变了项目的名称以及.h和.m文件.我通过Xcode完成了所有这些,而不是Finder.
导航器中没有任何内容以红色文本显示,表示无法找到它.这是我已经尝试过的(很多次).
关闭/打开Xcode.
清除项目和构建文件夹.
删除派生数据文件夹.
使用磁盘工具来修复权限.
重启电脑.
尝试了不同的代码签名组合.
从设备删除应用程序.
通过项目搜索任何重复的文件名.
这是警告逐字:
警告:输出文件的多个构建命令/Users/jinser/Library/Developer/Xcode/DerivedData/Landmarks-bgnzcomxftpffiezmwocaqdydrlj/Build/Products/Debug-iphoneos/Landmarks.app/Landmarks
这是错误:
GenerateDSYMFile /Users/jinser/Library/Developer/Xcode/DerivedData/Landmarks-bgnzcomxftpffiezmwocaqdydrlj/Build/Products/Debug-iphoneos/Landmarks.app.dSYM/Users/jinser/Library/Developer/Xcode/DerivedData/Landmarks-bgnzcomxftpffiezmwocaqdydrlj/Build /产品/ Debug-iphoneos/Landmarks.app /地标cd"/ Users/jinser/Desktop/Kevin/Cocos2D Projects/ARSpaceships"setenv PATH"/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/ bin:/ usr/bin:/ bin:/ usr/sbin:/ sbin"/ Developer/usr/bin/dsymutil/Users/jinser/Library/Developer/Xcode/DerivedData/Landmarks-bgnzcomxftpffiezmwocaqdydrlj/Build/Products/Debug-iphoneos /Landmarks.app/Landmarks -o /Users/jinser/Library/Developer/Xcode/DerivedData/Landmarks-bgnzcomxftpffiezmwocaqdydrlj/Build/Products/Debug-iphoneos/Landmarks.app.dSYM
错误:无法打开可执行文件''
这是Mac 10.6.8上的Xcode 4.2.请,任何建议将不胜感激.我正在失去理智.
谢谢.
我正在使用单选警告对话框,我想将默认蓝色(标题行和单选按钮)替换为我在标题栏中使用的橙色.我能够改用标题栏setCustomTitle(),但我迷失了试图摆脱这个该死的蓝色.
对于标题栏
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/orange" >
<TextView
android:id="@+id/alertTitle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="14dp"
android:gravity="center"
android:text="Alert Title"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
构建AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
View customTitle = View.inflate(MainActivity.this, R.layout.custom_alert_title, null);
builder.setCustomTitle(customTitle);
builder.setSingleChoiceItems(mAlertOptions, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do stuff
dialog.dismiss();
}
}).create().show();
Run Code Online (Sandbox Code Playgroud)
这就是它的样子

我需要摆脱这个蓝色!救命!
iphone ×5
ios ×4
android ×2
c ×1
calayer ×1
encryption ×1
ip ×1
nsarray ×1
nsstring ×1
objective-c ×1
sqlcipher ×1
sqlite ×1
subdomain ×1
swift ×1
uiimage ×1
uikeyboard ×1
uitextfield ×1
xcode ×1