UDID is deprecated, and it's use is no longer allowed, you must use UUID.

It has drawbacks and benefits compared with UDID.

- (NSString *)uuidString {
// Returns a UUID

    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
    NSString *uuidStr = (__bridge_transfer NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);


    return uuidStr;
}



UDID always returned a unique and consistent ID. UUID whilst unique will return different every time. You need to store in user defaults or whereever and only generate if it's not already there.


Apps are not permitted to access the UDID
I am attempting to merge a Visual Studio 2010 project to 2012. The 2010 solution had a deployment project which output can be replicated by publishing in 2012. Our build script looking something like this:

&lt;target name="buildSolution"&gt;
    &lt;delete file="${BuildRootFolder}\build.log" /&gt;
    &lt;exec program="devenv.exe" verbose="true" timeout="2400000"
        commandline='/out build.log ${BuildRootFolder}\Solution.sln /Build "Release" /deploy Solution'
        basedir="C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE"&gt;
        &lt;environment&gt;
            &lt;variable name="PATH"
            value="blah blah...."&gt;
        &lt;/environment&gt;
    &lt;/exec&gt;    
&lt;/target&gt;


How do I update this to Publish one of the projects in that solution using the publishing profile I defined? 
