前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >迁移iPhone手机短信、音乐、铃声、录音到华为手机

迁移iPhone手机短信、音乐、铃声、录音到华为手机

原创
作者头像
颇忒脱
修改2023-09-12 11:00:56
2.1K1
修改2023-09-12 11:00:56
举报
文章被收录于专栏:颇忒脱的技术博客

如何将Iphone的短信迁移到华为手机的方法。

短信迁移

传统的办法是使用isms2droid,但是在写本文时isms2droid无法使用,可能与谷歌禁止华为安装谷歌服务有关。因此采用了另一种方法。

注意:本文中提到的有些网站需要访问国外网站才可以访问。

第一步

还是按照isms2droid的方法,提取到3d0d7e5fb2ce288813306e4d4636395e047a3d28文件,一定要注意,在备份Iphone到本机到时候不要加密备份。

  1. iPhone 连到电脑,采用非加密备份。
  2. 到(Windows)C:\Users[YourUsername]\AppData\Roaming\Apple Computer\MobileSync\Backup\ 或者(OS X)~/Library/Application Support/MobileSync/Backup/ (你得在 Finder 中使用 Cmd + Shift + G 打开 前往文件夹 才能进入该目录) 搜索对应文件。
  3. 找到 3d0d7e5fb2ce288813306e4d4636395e047a3d28 文件复制出来。

第二步

其实3d0d7e5fb2ce288813306e4d4636395e047a3d28就是一个SQLite3的dump文件,因此可以导入它然后将其输出成“SMS Backup and Restore”的xml格式文件。

本文采用的是这篇文章所提供的php脚本,不过它的脚本存在一些bug,导出的短信时间存在问题(这个问题在这篇文章里也有提到过)。因此我作了一些修改,代码在gist

也可以直接复制这里的:

代码语言:php
复制
#!/usr/bin/php5
<?php

if (count($argv) <> 2) {
    print "Usage: ".$argv[0]." iPhone-SMS-DB (Usually 3d0d7e5fb2ce288813306e4d4636395e047a3d28.*)\n";
    exit -1;
}

$DBfile = $argv[1];

if (! is_readable($DBfile)) {
    print "File $DBfile is not readable!\n";
    exit -2;
}

try {
    $sqlite = new SQLite3($DBfile);
} catch (Exception $exception) {
    echo '<p>There was an error connecting to the database!</p>';
    echo $exception->getMessage();
    exit -3;
}

$query  = "
    SELECT datetime(message.date / 1000000000, 'unixepoch', '+31 years') AS Datum, 
	   CAST(strftime('%s', datetime(message.date / 1000000000, 'unixepoch', '+31 years')) AS INT) * 1000 AS Date,
     message.is_from_me, 
	   handle.id AS Contact, 
	   message.text,
	   message.service
    FROM message, handle 
    WHERE message.handle_id = handle.ROWID;
";

$sqliteResult = $sqlite->query($query);
if (!$sqliteResult) {
    // the query failed and debugging is enabled
    echo "There was an error in query: $query\n";
    echo $sqlite->lastErrorMsg();
    exit -4;
}


$smses = array();
while ($record = $sqliteResult->fetchArray()) {
    $sms = array();
    $sms['Datum'] = $record['Datum'];
    $sms['Date'] = $record['Date'];
    $sms['is_from_me'] = $record['is_from_me'];
    $sms['Contact'] = $record['Contact'];
    $sms['text'] = $record['text'];
    $sms['service'] = $record['service'];
    $smses[] = $sms;
}

$sqliteResult->finalize();
$sqlite->close();

print "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>\n";
print "<?xml-stylesheet type='text/xsl' href='sms.xsl'?>\n";
print "<smses count=\"".count($smses)."\">\n";
foreach ($smses as $key => $sms) {
    $body = $sms['text'];
    $body = str_replace('&', '&amp;', $body);
    $body = str_replace('"', '&quot;', $body);
    $body = str_replace("\n", '&#10;', $body);
    print '  <sms ';
    print 'address="';
    print $sms['Contact'];
    print '" date="';
    print $sms['Date'];
    print '" type="';
    print ++$sms['is_from_me'];
    print '" body="';
    print $body;
    print '" readable_date="';
    print $sms['Datum'];
    print '" service="';
    print $sms['service'];
    print '" />';
    print "\n";
}
print "</smses>\n";

执行:

代码语言:shell
复制
php iphone-sms-xml.php 3d0d7e5fb2ce288813306e4d4636395e047a3d28 > sms.xml

得到sms.xml文件。

第三步

在你的华为手机上安装“SMS Backup and Restore”,需要注意的是这个软件在华为应用市场上是找不到的,你需要自行找一个地方下载APK文件安装。我是在这个网站下载到的。

第四步

把前面的sms.xml传到你的手机上,然后运行“SMS Backup and Restore”恢复短信。

恢复过程中会提示你把 “SMS Backup and Restore” 作为默认短信应用,照做就是。

恢复完成后,打开系统自带的短信,把它设置会默认短信应用即可。

大功告成!

音乐、铃声、录音迁移

步骤

1)把你的 iPhone 插到 Mac 上

2)打开 Mac 上的 音乐

3)选择 文件 - 资料库 - 导出资料库,随便选一个位置保存资料库 xml 文件

  • 我有点不太确定,也可能是通过 Mac 备份 iPhone 到本地(非加密)产生的了下一步的文件,都试试吧

4)导出后,打开 Finder ,进入目录 音乐 - iTunes - iTunes Media,你会看到这么几个目录:

  • Apple Music,你在 iPhone 上购买 / 收藏的音乐,这个这是一个清单,没有实体音乐
  • Downloads-Music,这个是你 iPhone 上下载的音乐文件
  • Music,不太清楚,可能是你上传到 iPhone 的音乐文件
  • Tones,铃声文件,是 m4r 格式的,也许华为不认,你可以网上找工具转换成 mp3 格式
  • Voice Memos,语音备忘录,也就是录音文件

对应的华为目录

打开华为手机的 文件管理 - 内部存储:

  • 录音文件,放到 Sounds 目录下
  • 通话录音文件,放到 Sounds - CallRecord 目录下
  • 音乐文件,放到 Music 目录下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 短信迁移
    • 第一步
      • 第二步
        • 第三步
          • 第四步
          • 音乐、铃声、录音迁移
            • 步骤
              • 对应的华为目录
              相关产品与服务
              短信
              腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档