Здається, що каталог для iOS Simulator змінився. Раніше це було, ~/Library/Application\ Support/iPhone\ Simulator/
а зараз воно є ~/Library/Developer/CoreSimulator/Devices/
.
Здається, що каталог для iOS Simulator змінився. Раніше це було, ~/Library/Application\ Support/iPhone\ Simulator/
а зараз воно є ~/Library/Developer/CoreSimulator/Devices/
.
Відповіді:
Оновлення: Charles 3.9.3+ має вбудовану функцію налаштування ваших симуляторів iOS (тобто встановлення сертифіката Charles SSL). Це можна знайти в меню Довідка програми Чарльза. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
До Чарльза 3.9.2 відноситься таке:
Завантажте сценарій оболонки конфігурації з веб-сайту Charles Proxy . Потім замініть сценарій таким і запустіть його на своєму Mac:
#/bin/bash
install() {
if [ -f "$SQLITEDBPATH" ]; then
cp -n "$SQLITEDBPATH" "$SQLITEDBPATH.charlesbackup"
sqlite3 "$SQLITEDBPATH" <<EOF
INSERT INTO "tsettings" VALUES(X'189B6E28D1635F3A8325E1E002180DBA2C02C241',X'3123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A',X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C21444F435459504520706C697374205055424C494320222D2F2F4170706C652F2F44544420504C49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E636F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C706C6973742076657273696F6E3D22312E30223E0A3C61727261792F3E0A3C2F706C6973743E0A',X'3082045E30820346A003020102020101300D06092A864886F70D01010505003081913123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A3020180F31383939313233313132303030305A170D3338303932343033313930355A3081913123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A30820122300D06092A864886F70D01010105000382010F003082010A02820101008349587455EFB272E397A31D3B52D9B13115C93F320766D2D451117F45C40285506027079ED439CABB94D44F1AE136EB1E79BF77ABE43345AD1D436809CF9E035C439272F3CA917DCADD7FBD0E3929F1A345F0B89096130BBD116F8D3AB5655789B7B0831325BD22903F198DA6BDDA30C08DFD17CE9AB51C48555264307BCF789A2B6C48DF4ECAF3EA2C092EE737AD8F397900AC03303BFE2AE43549030A7866CB6FE9B04B9F6EC498B4E7369E99B45491BF093858A77C72F8ADC818E018D413265E39446BE514F78EB57A23AA88F630776F861A9163E04AD38EE8A5C9219D0FC23F6B9A6324455DEA6F4A6A251ECA1FA3D6288CB89FD12A2062A3A015A56F250203010001A381BC3081B9300F0603551D130101FF040530030101FF307706096086480186F842010D046A136853534C2050726F7879696E6720697320656E61626C656420696E20436861726C65732050726F78792E20506C6561736520766973697420687474703A2F2F636861726C657370726F78792E636F6D2F73736C20666F72206D6F726520696E666F726D6174696F6E2E300E0603551D0F0101FF040403020204301D0603551D0E04160414BB27F4CB2EB6DBB058101BBD803F38D208D76129300D06092A864886F70D010105050003820101000041F935F30B209E56360F7E3D9C30314A213323C47EDCEA1467600A50FFE4E8E39DFCA8C8D34463C34745FF04C870F1DF28BB772DB0CF1BCA677B70842C742BC6D5FB00559AD643C6BF2C95BD0B855A961D7D6A3EADA9C642E9A789474C4AD838C6F732D8D859548D30829DF7A32D098FE3F00147DAF08C0B37DD597184C1E27A61EA42050C73994E809013CB21E37BF84BF923BCEFEA6164FD28AB9058CCC48F1F486FC1C47EBD8A9C933F542401B11F36A003E47B141A41C7B326D18D023E11EDB445699AA44800254EA33F174FD5EB1CCCE6A09365751FF905988C06315B5575067BF65EC24CAD1A6A601846D1D2F51F1F420A2762990B044000619D1C84');
EOF
fi
}
for SQLITEDBPATH in ~/Library/Developer/CoreSimulator/Devices/*/data/Library/Keychains/TrustStore.sqlite3; do
echo $SQLITEDBPATH
install
done
echo "The Charles SSL CA Certificate has been installed for the iPhone Simulator"
Деякі речі, на які слід звернути увагу:
Я щойно протестував Чарльза на симуляторі Xcode 7 / iOS9. Лише кілька вказівок, які я хочу додати, якщо у вас виникли проблеми:
Згідно з документацією Чарльза
IOS Simulator повинен використовувати налаштування системного проксі. Якщо цього не сталося, спробуйте вийти і перезапустити iOS Simulator. Починаючи з Xcode 6, здається, важливо, щоб Чарльз був запущений і встановлений як проксі-сервер Mac OS X, перш ніж запускати iOS Simulator.
Тож просто вийдіть із симулятора, відкрийте Чарльз і знову запустіть програму. Після цього ви зможете відстежувати свої дзвінки в мережі.
ПРИМІТКА. Якщо ви кинете Чарльза, ваші дзвінки в мережі не зможуть. Тож вам потрібно буде або вийти з симулятора і запустити його знову, або знову відкрити Чарльза.
Інший спосіб зробити це - перейти до сертифіката http://charlesproxy.com/charles.crt на пристрої
який представить вам екран:
Оновлення для iOS 9: Ви повинні відключити App Transport Security, щоб використовувати Чарльза!
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Я не бачив сценарію оболонки конфігурації на цій сторінці. Я зробив наступне, і мені це вдалося:
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
Перевір це:
Починаючи з Charles v3.9.3, у меню Довідка є пункт "Встановити сертифікат Charles CA SSL у симуляторах iOS", який автоматично встановить сертифікат SSL CA Charles у ваших симуляторах iOS.
Крім того, ви можете змінити свій код так, щоб NSURLConnection приймав будь-який сертифікат SSL. Будь ласка, перегляньте питання та відповідь щодо переповнення стека: Як використовувати NSURLConnection для підключення до SSL для ненадійного сертифіката?
Ви можете перевірити це за цим посиланням: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
`` Встановити корінний сертифікат Чарльза в симуляторах iOS '' не працює в поточній версії CharlesProxy (3.11) із симуляторами Xcode 7 / iOS 9.
Натомість скористайтеся опцією «Встановити корінний сертифікат Чарльза на мобільний пристрій або віддалений браузер ...». Це дасть вам адресу для сертифіката.
Якщо ви відкриєте цю URL-адресу в Safari в симуляторі, вам буде надана можливість встановити сертифікат.
Потім вам все одно потрібно вимкнути безпеку транспорту додатків. Я не розумію, чому це потрібно, коли у вас встановлений сертифікат; Я думаю, CharlesProxy не використовує досить великі ключі / підписи.
Для тих, хто бореться з ненадійними з’єднаннями на симуляторах бета-версії Xcode 9:
Я не знаю, працює скрипт встановлення чи ні, але ви можете встановити сертифікат Чарльза так само, як і на фізичному пристрої - через Safari.
Останній крок, який необхідний (звичайно, після встановлення сертифіката або за допомогою сценарію, або через Safari): Перейдіть до налаштувань Simluator -> загальні -> про -> Налаштування довіри до сертифікатів -> Charles Proxy Custom Root ... -> увімкнути 💥
Кроки для симулятора iOS.
Кроки для iPhone / iPad.
Перейти до меню Чарльза -> Довідка -> Проксі-сервер SSL -> Встановити сертифікат Чарльза на мобільний пристрій або віддалений браузер -> Вибрати -> з'явиться спливаюче вікно з кроками нижче `
Налаштуйте пристрій на використання Чарльза як HTTP-проксі на 192.168.0.100:8888 , а потім перейдіть до chls.pro/ssl, щоб завантажити та встановити сертифікат.
Перейдіть до налаштувань iPhone -> Wi-Fi -> натисніть вибраний wifi -> Http проксі -> Налаштуйте проксі -> виберіть Вручну -> Надати серверу як 192.168.0.100 та порту як 8888 -> Зберегти
Перейдіть до браузера iPhone -> Завантажити chls.pro/ssl -> З'явиться спливаюче вікно `
Веб-сайт намагається завантажити конфігураційний профіль. Ви хочете дозволити це? Кнопку колонку Дозволити кнопку
Натисніть кнопку Дозволити -> Це завантажить профіль
Для мене це те, що спрацювало.
Я зробив те саме, що ми робимо в пристрої.
Я повинен зробити це в 3 екземплярах симулятора, оскільки тестування автоматизації XCUI може обертати 3.