CFBundleGetInfoString

Deploying to Mac OS? Ask Mac OS specific questions here.

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Post Reply
Mag
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 802
Joined: Fri Nov 16, 2012 10:51 pm

CFBundleGetInfoString

Post by Mag » Mon May 27, 2013 11:52 am

Hi all,

I'm wrapping a OS X app with App Wrapper for MAS distribution, all seems OK except a warning I get on CFBundleGetInfoString:
"CFBundleGetInfoString" is depreciated on Mac OS X 10.5 and newer, as the Minimum OS set to 10.7.4, it shall be removed.
I tried to leave the field in Standalone settings blank but it seems that LiveCode enters it own string:
<key>CFBundleGetInfoString</key>
<string>6.0.1-rc-1.1512, Copyright 2000-2013 Runtime Revolution Ltd.</string>
Anyone knows is there is a way to leave this value empty, or maybe it's better to create my own plist or alternatively leave the one created by LiveCode and edit it later?

PS
Related link: http://lists.apple.com/archives/cocoa-d ... 01710.html

sturgis
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 1685
Joined: Sat Feb 28, 2009 11:49 pm

Re: CFBundleGetInfoString

Post by sturgis » Mon May 27, 2013 12:49 pm

Hmm. the warning you receive says the CFBundleGetInfoString is being removed, so you shouldn't have to do it yourself unless you just don't want to see the message anymore.

Or does it actually not get removed when you wrap it?

Code: Select all

"CFBundleGetInfoString" is depreciated on Mac OS X 10.5 and newer, as the Minimum OS set to 10.7.4, it shall be removed.

Mag
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 802
Joined: Fri Nov 16, 2012 10:51 pm

Re: CFBundleGetInfoString

Post by Mag » Mon May 27, 2013 2:19 pm

I Sergius, unfortunately then is not removed:

Code: Select all

 	<key>CFBundleGetInfoString</key>
	<string>MyApp Version 1.2</string>

Mag
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 802
Joined: Fri Nov 16, 2012 10:51 pm

Re: CFBundleGetInfoString

Post by Mag » Mon May 27, 2013 3:18 pm

OK, I remove it by hand, no problem.

Just to share an information that may be useful to someone who wants to create an app for the Mac App Store I would add that we must also edit the value CFBundleVersion, which in in the binary compiled by LiveCode assumes the version number, but instead it seems that has to be an integer. Example, instead of 1.1.1, I put 100 (note that CFBundleVersion is not the version of the app).

Martin Koob
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 256
Joined: Sun May 27, 2007 8:19 pm

Re: CFBundleGetInfoString

Post by Martin Koob » Wed Jun 05, 2013 8:24 pm

I have noticed another odd thing about how Standalone builder saves the bundle version strings and I did a post on the use-list but I will add to your thread here since it is related.

I am setting the version for my Mac OS X application and I noticed that there is not a way to set theCFBundleVersion.

In the standalone application settings for Mac OS X there are the following fields:

Short Version = CFBundleShortVersionString which is supposed to be "a string comprised of three period-separated integers"
Long Version = CFBundleLongVersionString

There is not a field to enter the Bundle Version string.
CFBundleVersionString = this is supposed to be a build number whether it is released or not

When I look at the pList generated by standalone builder I see that the CFBundleVersionString is set to be the same as the CFBundleShortVersionString

From researching this a bit I have found that a version and build such as MyApp 2.1.1 (91) should have the following in the pList

CFBundleShortVersionString = 2.1.1 = released version
CFBundleVersionString = 91 = build

Should this be changed in the standalone builder?

I keep track of builds by using the format 2.1.1.91 in the 'Short Version' field.
in the pList it shows up as
CFBundleShortVersionString = 2.1.1.91
CFBundleVersionString = 2.1.1.91

Is this the way it should be done or should the standalone builder be changed to add a bundle version string field?

I notice that LiveCode uses this practice
LC Version 6.0.2 has the following in the pList
CFBundleShortVersionString = 6.0.2-rc-1.1520
CFBundleVersionString = 6.0.2-rc-1.1520


I didn't think there were any problems with the way LiveCode saves these strings in the build. It looked like you can put anything in the string, but with your report I think this should be a bug and that the following be requested in the bug report.

In the Mac OS X standalone settings:
remove the field 'Get info string:' which is used for the deprecated CFBundleGetInfoString
add a field for 'Build Version" which will accept an integer to be saved as the CFBundleVersionString

There is one bug in the runrevQA #6202 which asked for the CFBundleVersionString to be set to the CFBundleShortVersionString. It looks like that was done(the bug was not closed though)

Martin

Mag
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 802
Joined: Fri Nov 16, 2012 10:51 pm

Re: CFBundleGetInfoString

Post by Mag » Thu Jun 06, 2013 2:41 am

Hi Martin, I also think that LiveCode don't let you enter a specific CFBundleVersion (please someone correct me if I'm wrong). At some point I think that RunRev will add this info maybe following your advice. In the mean time, we have to continue to edit the .plist after the standalone was created by adding our own CFBundleVersion.

Post Reply

Return to “Mac OS”