How to collaborate on a project in Xcode - xcode

I would like to know if it's possible to collaborate on a project in Xcode (like in Keynote). Here is a picture to show what I mean:
As you can see, there is a collaborate button in keynote that allows you to send an invitation to someone and be able to work together on the presentation in the same time (like on google drive).
I would like to know if this option is available in Xcode so that me and my partner can work in parallel on a project (she adds things in the same time that I do).

Related

Developed an app on my personal individual developer account, what is the best way to release it on a new organization account?

I've been developing a Swift app for a while now on my own individual developer account linked to my longstanding everyday AppleId - so the AppleId also has all my bought music, apps, appleTV and other content etc etc. As I have developed the app I have realised that it has considerable commercial potential, and so would rather release it under an organization (a private limited company) than under my own individual name.
The app itself is relatively straightforward, it is self-contained other than having a single non-consumable in app purchase. I have not yet uploaded the app to AppStoreConnect, although I have set up the app name and the in app purchase on AppStoreConnect for testing purposes. I would like to release in the quickest way possible now. Using XCode 14.
What is the quickest, most straightforward and trouble-free way to achieve my goal? Should I:
Release it under my own individual developer account and then ask apple to change my individual account to an organization account? Are there any complications with this given that this dev account is attached to my personal AppleId? How long does it usually take Apple to achieve the change? Does the App remain on sale throughout? Are there ever any problems or is there anything else I should be aware of?
OR
Set up a totally fresh AppleId and create a new developer account for the organization on this id? (I appreciate this will cost extra money but am willing to bear the cost). If I do this, how do I transfer the app from my individual account to the organization account? Do I have to go through the Apple 'transfer an app' process? Are there any pitfalls with this? When the transfer is complete, how do I alter my XCode set up to continue working on the app under the new account? Also, as I have not yet submitted the app to AppStore (although I have set up the name / IAP ) can I simply use XCode to point the app at the new account and upload it to that instead without invoking the Apple 'transfer an app' process - how would I alter my set up on XCode to achieve this?
I am currently in the process of setting up the company, and should have necessary info eg DUNS no etc fairly shortly.
While I'm familiar with development itself and I've already released one paid app on the AppStore under my own individual account attached to my everyday AppleId, this seemed to be a relatively simple and automated procedure. My main difficulties with my current problem seem to stem from the fact that I have never worked as part of a swift development team, and I understand very little around the actual 'architecture' of app development, eg XCode signing / teams / bundle ids etc, and I'm really struggling to understand the technicalities of the connection between XCode / Developer Account / AppStore Connect / AppleID.
I've looked through other posts on this topic but most seem several years out of date, and I am aware that AppStore functionality in this area has changed over the years.
Any help would be greatly appreciated - particularly if you can recommend which route to go down and answer any of my specific points. I have tried asking Apple, but all I get back are standard replies directing me to their app transfer process - unfortunately though I'm something of a solo outfit and I really need the benefit of people's experience here, as I need this process to go quickly and smoothly!
Cheers!

Is it ok to hide a "Developer mode" in my app?

I have an mobile app. While in debug, I need to test several different stuff, so I created a button that shows a list of these tests.
Even in Release, some things are different (Apple Push Notification). So I need to test in release too.
Is it ok to leave these shortcuts hidden when releasing the app?
Doing so would leave a massive security hole in your application, which should be avoided at all costs. In fact, if you're creating an iOS app, I doubt such a hole would get by Apple's independent release testing.
Ideally, you should be using separate coding environments for development, testing and production. When you're developing, you should be using one of the various simulators to test as you work. There's an in-built one in XCode that can simulate a variety of Apple devices, and if you're using something like Ionic, you can hook it to a live preview in a web browser.
Once you're happy that things are working on your computer, you then should be deploying a development .ipa / .apk file. This file should only be released 'in-house', manually. If that's all good, you move on to testing. For testing, create a secondary file, and this can be distributed for external testing through something like Apple TestFlight.
For production, you'd remove any 'backdoors', as in theory, your app would be ready for the public. At this stage it's a simple matter of releasing it through either the Google Play Store or Apple Store.

best online service to backup Xcode?

I've been making some tweaks as well as adding finishing touches to an app I've been working on. I just noticed my computer started to load very slowly when compiling the app. after several screen crashes and freezes I decided to reboot in a various number of ways. http://www.macworld.com/article/2018853/when-good-macs-go-bad-steps-to-take-when-your-mac-wont-start-up.html
Thankfully I still have all my files and multiple Xcode snapshots for me to use. I don't have a flash drive on me and was wondering what would be the best online service to store my app for the time being?
I know this might be a tad unrelated but I feel this is an important topic and if anyone has any suggestions about which service to use for this task, I'd love to hear it ...ie Google drive , Dropbox, etc...I'm a noob with these services
You can use bitbucket.com, it's free for small projects.
Github is the best repository, it allows you to backup your project, you can clone it anywhere at any system.And you can update your project as well. Along with this, You can make it private.
http://git-scm.com/docs
There is another option if you don't want this to be some console
there is an iCloud drive available in Favourites, that is located in left side of any Finder Folder.

DJI Phantom API or hackable procedure

Maybe I have't looked hard enough, but I spent yesterday googling for a bit and found no relevant projects on hacking the DJI Phantom Drone in order to create new coordinating apps. This is besides the app for coordination DJI currently uses for their drone. I'm trying to see if there's a way to communicate with the Drone with a specific protocol in order to accept a set of procedures.
Any help would be awesome,
Thanks.
Great News for you and all us Droneys! DJI has launched their SDK since you asked this question. They released it last November and you can now apply for a license and write your own apps for the Phantom2 Vision+ using their SDK.
Check it out at https://developer.dji.com/
I am already building a project using the SDK - you can follow my progress on my blog / product site. I will also try to update it with good DJI related development links and tips.
This post is old but I think it is good to leave a foot print for others :)
There is this new company called NVdrones, which created a peace of hardware that you can attach to any drone (you need physical access to the flight controller), and once you do that you can use their SDK (Arduino, Java, Android and Javascript) to write your app without the need of hacking, soldering or anything else. It is just plug and play.
Another benefit is that you are not locked with a specific drone (DJI SDK or 3DRobotics SDK), you can use the board on anything you want. Which gives lots of flexibility.
The developer site is http://developers.NVdrones.com
Hope this helps.
This is a great topic!
You could check how to hack your copter here: https://github.com/flyver/Flyver-SDK/wiki/-2.2--How-To:-Flyver-Hack-a-Copter
By opening the drone, taking out the original controller, soldering a few wires and sticking an Android phone to it, you will have the ability to program your Phantom in a modern manner with an open source SDK and application based development. This means that you could add computer vision to it, automation or additional hardware. You could also use smartphones, web and other interactive devices for remote controlling the copter instead of using the standard remote controls.
The Phantom, however, is offcenter balanced due to the fact that most people use gimbal with it. Without the gimbal is a lot less stable from my experiments so you will have to put some extra work in center balancing it.

Using views from other apps as CoreAnimation Layer

All,
How can I use (NS)Views from other applications as Layers in my CA app. I.e. I'd like to display a Keynote presentation as Layer in my CA app.
I found the iChatTheatre API which looks promising - however I'd need the oposite. An API to get the contents from an app - not to provide it.
Any pointers?
Thanks.
Take a look at the "Son of Grab" sample.
It shows you how to use the CGWindow*() API that was introduced with Mac OS X 10.5
The API allows you to get the content of a whole window, so you have to find a way to get the portions of the window you are interested in.
I don't believe there's a public way to do what you're talking about. Your best approach is probably to reverse-engineer the iChat AV system (the receiving side) and see if you can replicate it. Some initial work has been done by the ICP project. It's very sketchy, but it's a start.
Another approach is the QuickLook API, which has the advantage of not having to run the source application. So far Apple hasn't made the reading side of that API available either. Ciarán Walsh did some handy reverse engineering on QL a couple of years ago, and I've played with that approach, but it is somewhat klunky. You can generate the panel as Ciarán explains, but put it off screen. You can then copy the contents into an NSImage using NSBitmapImageRep -initWithFocusedViewRect:. Unfortunately you can wind up with some funky visual artifacts in this (like scroll bars in some cases), but for some applications it can be effective.

Resources