diff --git a/build/ci.go b/build/ci.go
index a89c6e02fd0c65189c7cf574b8048963c8ca08d0..d9f147ef0ea2b000d71cbbc3ab61234091e2be88 100644
--- a/build/ci.go
+++ b/build/ci.go
@@ -972,6 +972,9 @@ func doXCodeFramework(cmdline []string) {
 	// Create the archive.
 	maybeSkipArchive(env)
 	archive := "geth-" + archiveBasename("ios", params.ArchiveVersion(env.Commit))
+	if err := os.MkdirAll(archive, 0755); err != nil {
+		log.Fatal(err)
+	}
 	bind.Dir, _ = filepath.Abs(archive)
 	build.MustRun(bind)
 	build.MustRunCommand("tar", "-zcvf", archive+".tar.gz", archive)