diff --git a/cmd/gomobile/bind_iosapp.go b/cmd/gomobile/bind_iosapp.go
index f49a068..91d0de3 100644
--- a/cmd/gomobile/bind_iosapp.go
+++ b/cmd/gomobile/bind_iosapp.go
@@ -38,14 +38,19 @@
 
 	srcDir := filepath.Join(tmpdir, "src", "gobind")
 
-	name := pkgs[0].Name
-	title := strings.Title(name)
-
-	if buildO != "" && !strings.HasSuffix(buildO, ".framework") {
-		return fmt.Errorf("static framework name %q missing .framework suffix", buildO)
-	}
+	var name string
+	var title string
 	if buildO == "" {
+		name = pkgs[0].Name
+		title = strings.Title(name)
 		buildO = title + ".framework"
+	} else {
+		if !strings.HasSuffix(buildO, ".framework") {
+			return fmt.Errorf("static framework name %q missing .framework suffix", buildO)
+		}
+		base := filepath.Base(buildO)
+		name = base[:len(base)-len(".framework")]
+		title = strings.Title(name)
 	}
 
 	fileBases := make([]string, len(pkgs)+1)
diff --git a/cmd/gomobile/bind_test.go b/cmd/gomobile/bind_test.go
index ba62b86..5be807a 100644
--- a/cmd/gomobile/bind_test.go
+++ b/cmd/gomobile/bind_test.go
@@ -117,6 +117,7 @@
 
 	tests := []struct {
 		prefix string
+		out    string
 	}{
 		{
 			// empty prefix
@@ -124,9 +125,15 @@
 		{
 			prefix: "Foo",
 		},
+		{
+			out: "Abcde.framework",
+		},
 	}
 	for _, tc := range tests {
 		bindPrefix = tc.prefix
+		if tc.out != "" {
+			buildO = tc.out
+		}
 
 		buf := new(bytes.Buffer)
 		xout = buf
@@ -148,10 +155,12 @@
 
 		data := struct {
 			outputData
+			Output         string
 			Prefix         string
 			BitcodeEnabled bool
 		}{
 			outputData:     output,
+			Output:         buildO[:len(buildO)-len(".framework")],
 			Prefix:         tc.prefix,
 			BitcodeEnabled: bitcodeEnabled,
 		}
@@ -186,25 +195,25 @@
 WORK=$WORK
 GOOS=darwin CGO_ENABLED=1 gobind -lang=go,objc -outdir=$WORK -tags=ios{{if .Prefix}} -prefix={{.Prefix}}{{end}} golang.org/x/mobile/asset
 mkdir -p $WORK/src
-PWD=$WORK/src GOARM=7 GOOS=darwin GOARCH=arm CC=iphoneos-clang CXX=iphoneos-clang++ CGO_CFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch armv7 CGO_CXXFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch armv7 CGO_LDFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch armv7 CGO_ENABLED=1 GOPATH=$WORK:$GOPATH go build -tags ios -x -buildmode=c-archive -o $WORK/asset-arm.a ./gobind
-rm -r -f "Asset.framework"
-mkdir -p Asset.framework/Versions/A/Headers
-ln -s A Asset.framework/Versions/Current
-ln -s Versions/Current/Headers Asset.framework/Headers
-ln -s Versions/Current/Asset Asset.framework/Asset
-xcrun lipo -create -arch armv7 $WORK/asset-arm.a -o Asset.framework/Versions/A/Asset
-cp $WORK/src/gobind/{{.Prefix}}Asset.objc.h Asset.framework/Versions/A/Headers/{{.Prefix}}Asset.objc.h
-mkdir -p Asset.framework/Versions/A/Headers
-cp $WORK/src/gobind/Universe.objc.h Asset.framework/Versions/A/Headers/Universe.objc.h
-mkdir -p Asset.framework/Versions/A/Headers
-cp $WORK/src/gobind/ref.h Asset.framework/Versions/A/Headers/ref.h
-mkdir -p Asset.framework/Versions/A/Headers
-mkdir -p Asset.framework/Versions/A/Headers
-mkdir -p Asset.framework/Versions/A/Resources
-ln -s Versions/Current/Resources Asset.framework/Resources
-mkdir -p Asset.framework/Resources
-mkdir -p Asset.framework/Versions/A/Modules
-ln -s Versions/Current/Modules Asset.framework/Modules
+PWD=$WORK/src GOARM=7 GOOS=darwin GOARCH=arm CC=iphoneos-clang CXX=iphoneos-clang++ CGO_CFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch armv7 CGO_CXXFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch armv7 CGO_LDFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch armv7 CGO_ENABLED=1 GOPATH=$WORK:$GOPATH go build -tags ios -x -buildmode=c-archive -o $WORK/{{.Output}}-arm.a ./gobind
+rm -r -f "{{.Output}}.framework"
+mkdir -p {{.Output}}.framework/Versions/A/Headers
+ln -s A {{.Output}}.framework/Versions/Current
+ln -s Versions/Current/Headers {{.Output}}.framework/Headers
+ln -s Versions/Current/{{.Output}} {{.Output}}.framework/{{.Output}}
+xcrun lipo -create -arch armv7 $WORK/{{.Output}}-arm.a -o {{.Output}}.framework/Versions/A/{{.Output}}
+cp $WORK/src/gobind/{{.Prefix}}Asset.objc.h {{.Output}}.framework/Versions/A/Headers/{{.Prefix}}Asset.objc.h
+mkdir -p {{.Output}}.framework/Versions/A/Headers
+cp $WORK/src/gobind/Universe.objc.h {{.Output}}.framework/Versions/A/Headers/Universe.objc.h
+mkdir -p {{.Output}}.framework/Versions/A/Headers
+cp $WORK/src/gobind/ref.h {{.Output}}.framework/Versions/A/Headers/ref.h
+mkdir -p {{.Output}}.framework/Versions/A/Headers
+mkdir -p {{.Output}}.framework/Versions/A/Headers
+mkdir -p {{.Output}}.framework/Versions/A/Resources
+ln -s Versions/Current/Resources {{.Output}}.framework/Resources
+mkdir -p {{.Output}}.framework/Resources
+mkdir -p {{.Output}}.framework/Versions/A/Modules
+ln -s Versions/Current/Modules {{.Output}}.framework/Modules
 `))
 
 func TestBindWithGoModules(t *testing.T) {
