TestFlight
Coming soon
Fallback via Build Hooks
You can still use automated deploy via build hooks
create file ./buildHooks/src/iosDeployTestFlight.js
import { Exec, Common } from 'rnv';
const iosDeploy = async c => {
let fastlaneArguments = [];
const basePath = Common.getAppFolder(c, c.platform);
const path = `${basePath}/release/RNVApp.ipa`;
const teamID = Common.getConfigProp(c, c.platform, 'teamIdentifier');
const appleId = Common.getConfigProp(c, c.platform, 'appleId');
const appId = Common.getConfigProp(c, c.platform, 'id');
fastlaneArguments = [
'run',
'upload_to_testflight',
`app_identifier:${appId}`,
`app_platform:ios`,
`team_id:${teamID}`,
`ipa:${path}`,
`apple_id:${appleId}`,
'skip_waiting_for_build_processing:true',
];
if (process.env.APPLE_DEVELOPER_USERNAME) {
fastlaneArguments.push(`username:${process.env.APPLE_DEVELOPER_USERNAME}`);
}
try {
await Exec.executeAsync(c, `fastlane ${fastlaneArguments.join(' ')}`, {
env: process.env,
shell: true,
stdio: 'inherit',
silent: true,
});
} catch (e) {
console.log(`Fastlane ${c.platform} upload to AppStore failed with error ${e}`);
}
};
export default iosDeploy;
update file ./buildHooks/src/index.js
import iosDeployTestFlight from './iosDeployTestFlight';
const hooks = {
iosDeployTestFlight
}
const pipes = {
'deploy:after': [
iosDeployTestFlight
],
};
export { pipes, hooks };
run deploy command:
rnv deploy -p ios -s appstore