Build for iOS (arm64/arm64e)

Currently, all latest iOS can be jailbroken (as of writing, latest jailbreakable version is iOS 13.5). Is there any possibilities for Duplicacy binary to be released in arm64/arm64e?

The source code for the CLI is on GitHub, so you could try this yourself.

There is no plan to add a release for iOS at this time. @tangofan is right – you can compile from the source if you really want it.

I did actually tried, but I’m totally unfamiliar with Go. From the cross compile section in installation wiki, I used this command in macOS with Xcode installed:

env GOARCH=arm64 GOOS=darwin go build -o duplicacy_iphoneos duplicacy/duplicacy_main.go

but I’m getting this error:

    # command-line-arguments
    /usr/local/Cellar/go/1.14.3/libexec/pkg/tool/darwin_amd64/link: running clang failed: exit status 1
    ld: warning: ignoring file /var/folders/ch/5n5stkb95xg4cm_1b9c8ddg80000gn/T/go-link-539455540/go.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
    Undefined symbols for architecture x86_64:
      "_main", referenced from:
         implicit entry/start for main executable
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

Could you help me with that? Thanks in advance.

EDIT:
Tried with gomobile:
gomobile build -target ios -bundleid duplicacy duplicacy/duplicacy_main.go

and failed with the following error:

gomobile: go build -tags ios -ldflags=-w -o=/var/folders/ch/5n5stkb95xg4cm_1b9c8ddg80000gn/T/gomobile-work-525590054/arm command-line-arguments failed: exit status 1
can't load package: package command-line-arguments: cannot find package "command-line-arguments" in any of:
	/usr/local/Cellar/go/1.14.3/libexec/src/command-line-arguments (from $GOROOT)
	/Users/user/go/src/command-line-arguments (from $GOPATH)


Update: Change the command to
gomobile build -target ios -bundleid duplicacy ./

and now it throw another error:
gomobile: failed to pull the signing certificate to determine your team ID: exit status 44

Any helps guys? @gchen

This is codesign issue. Have you configured your apple developes account in Xcode? Or disable signing for now, I think you don’t need it to run in the emulator.

Hey @saspus thanks for the responds. I’ve set it up like this:

I think that’s right? And I did modified CODE_SIGNING_REQUIRED=NO in

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist

But still the same error got thrown. Did I do everything correctly? Did I miss anything?

It seems that go for mobile is still trying to fetch signing certificate. I’m not that familiar with go build system – but I’d expect there would be an certificates fetch around invocation of codesign utility somewhere – see if you can find and disable that.