如何在iOS模拟器中获取假联系人?

Som*_*Guy 17 ios ios-simulator

如何在iOS模拟器中获取虚假联系人?是否有我可以使用的shell脚本或我的联系人的编辑器?

编辑:我使用React Native所以我不能在那里抛出一些Swift项目 - 是否有一个命令行工具或方法将iOS模拟器连接到我的Mac上的Contacts应用程序?

nif*_*uce 28

您可以下载此生成的VCF文件,然后将其拖放到模拟器中以导入(1000)虚假联系人.我使用模拟数据生成网站Mockaroo创建了这个测试数据.

这是使用一个小型Node.js脚本创建的,该脚本采用CSV并将其转换为单个VCF文件 - 然后您可以将其拖放到iOS模拟器中.这是导入联系人的最简单方法,无需代码或GitHub需要安装应用程序(正如其他答案所暗示的那样).此CSV解析器假设您在文件顶部有三列(名字,姓氏和电话号码.如果您想添加更多列/变量以进行导入,只需根据vCard规范修改您的CSV和解析器.

将下面的脚本保存为"mock.js"并运行它node mock(这里是GitHub的要点).这假设下面的脚本以及您的CSV文件(例如"MOCK_DATA.csv")位于同一目录中.运行此脚本的输出将是名为"vcards.vcf"的文件.

const fs = require('fs');
const csv = fs.readFileSync('./MOCK_DATA.csv', 'utf8');
const records = csv.split('\n').slice(1);
const VCARDS = [];
records.forEach(function(record, i) {
  const data = record.split(',');
  const VCARD = [
    'BEGIN:VCARD',
    'VERSION:4.0',
    `N:${data[1]};${data[0]};;;`,
    `FN:${data[0]} ${data[1]}`,
    `TEL;type=HOME:${data[2]}`,
    'END:VCARD'
  ].join('\n');
  VCARDS.push(VCARD);
});
fs.writeFileSync(`./vcards.vcf`, VCARDS.join('\n'));
Run Code Online (Sandbox Code Playgroud)


Bri*_*pek 0

我只是在想做同样的事情时发现了这一点。这是我最终所做的:

for i in {0..100}
do
    echo "BEGIN:VCARD\n
    VERSION:4.0\n
    PRODID:-//BBros.us llc//bvCard.com//EN\n
    N:User"$i";TEst;;;\n
    FN:TEst User"$i"\n
    EMAIL:test.user"$i"@domain.com\n
    ORG:Great Business\n
    END:VCARD" > "File$(printf "%03d" "$i").vcf"
done
Run Code Online (Sandbox Code Playgroud)

在终端中,我更改为测试文件夹,并在其中运行此脚本。它创建了 VCard 文件,然后我将它们拖到正在运行的模拟器窗口并将它们放在模拟器上。这导致模拟器打开联系人并导入它们。

我希望这有帮助。

* 更新 * 因此,一旦我更新了 Xcode,我现在只能一次导入一个联系人,这并不理想。这让我想到了另一个解决方案:

https://github.com/cristianbica/CBSimulatorSeed-Swift

这是一个快速的应用程序,您可以在模拟器中构建和运行,为您播种许多联系人。