iPad to iPad Program Transfer

Hello. There are some other threads that ask similar questions but I decided to make my own because my question is a little different.

I need to move a relatively large program from one iPad to another. Whats the best way so that I don’t have to cut dozens of tabs out into individual tabs?

Maybe this question isn’t so different but I’m just hunting for the best way. Thank you for your time.

I use AutoGist to transfer projects

There’s a lot about github. I don’t use it myself, but I’m sure others will say that’s the easy way.

There are several different ways. Email is another (although it always pastes invisibly and I have to select it very carefully when copying it out again!). Many text editors can export to Dropbox too, so you can paste into one of them.

However, based on your concern of having to copy individual tabs, you may not be aware you can copy the entire project from the main Codea screen by pressing the icon for your project until you get “copy”.

To paste it back into tabs in Codea, press on “add new project” until you get “paste into new project”.

This means you only have to copy one big chunk for your whole project.

There is another low tech method: use eyes and hands to paste it. :))

you don’t need to cut multiple tabs… Codea can export entire projects to the clipboard. Then you transfer the file to the new iPad, then on the new system, copy the text to the clipboard and long-click the Add New Project button and select “Paste Into Project”.

It sure would be nice to have actual import/export capabilities without relying on the clipboard…

Thanks for your ideas.

Autogist looks scary.

Din’t @Simon say something about a Codea cloud? That seems like an awesome idea. Your sharing could be linked to your forum account and you could have collaborative projects between several people. Cooool.

A sharing platform is being developed right now by a couple of users. Soon, hopefully!

Collaboration is still hard…

What we really need is proper source control. If Codea could commit to and update from git servers, that would solve a lot of problems - collaboration being chief among those.

A friend of mine actually bought an iPad specifically so he and I could collaborate on a project… only to find out about 10 minutes later that there’s no way to do it.

@tomxp411 have you tried autogist? It looks scary, but really work well after 15 min of trials and errors.

“Cloud Clip for mobile” is good app to transfer projects in between iPads with the same Apple ID.
It saves whats on your clipboard (your project) when you open it and syncs to your other devices so it saves you the hassle of cutting out the tabs.

Hope this helps.

@Jmv38 I have used Autogist, but it’s not proper source control, as far as I can tell. Aside from Gists being cloud-hosted and having no privacy, it stores everything in one, big file. Is there merge conflict handling? How does it even manage two people making conflicting changes?

And there are still the issues with Codea and large projects: I’m already up to 30 or so source files in my latest project, and that’s after only one day of preliminary coding.

I’m guessing I’ll be up around 500 to 1000 source files when the project is done, not counting the little scriptlets that will basically be one-line “start quest x” or “start conversation y” kinds of stuff.

I can’t imagine hosting that in a gist, or even trying to maintain all those tabs in Codea. (I’m developing the engine in Windows, and I’m using Lua for all of the scripting and game logic.)

There will be a release for “Codea Community” soon,

We are looking at adding collaboration into Codea Community. Hoping to have a public release soon :slight_smile:

I know @dave1707 posted a while ago for me a project he had, that I’ve been fiddling with since then, that can export an entire project to your Dropbox, and then, on your other iPad, the text can be copied and (long-press on Add New Project) pasted into Codea, saving tabs and tab order.

A slightly cleaned-up version of Dave’s code:

function setup()
    parameter.clear()
    parameter.text("projectName", "")
    parameter.action("Save Project", saveProject)
    parameter.text("projectCode", "")
end

function draw()
    background(255)
end

function saveProject()
    output.clear()
    local fileName = projectName .. ".txt"
    local file = os.getenv("HOME") .. "/Documents/Dropbox.spritepack/" .. fileName
    local data = ""
    local tabList = listProjectTabs(projectName)
    if #tabList > 0 then
        for a, b in pairs(tabList) do
            data = data .. string.format("--# %s\
", b)
            data = data .. readProjectTab(projectName .. ":" .. b) .. "\
"
        end
        data = string.sub(data, 1, string.len(data) - 1)
        projectCode = data
        local wFd = io.open(file, "w")
        wFd:write(data)
        wFd:close()
        print(projectName .. " - Save complete.")
        projectName = ""
    else
        print(projectName.." - Invalid project name.")
    end
end