从任何(不安全的)字符串创建(健全/安全)应用程序包标识符

时间:2011-09-13 17:58:05

标签: python macos cocoa app-bundle

我想从一些随机的Unicode字符串(mich可能只包含任何内容)中创建一个理智/安全的应用程序包名称(即有些可读,没有“奇怪”字符等)。

(对我来说无关紧要,函数是Cocoa,ObjC,Python等。)

(这与filename questionbundle name question有关,但是捆绑标识符的限制性更强。我认为它甚至不能包含空格,我也想删除点并放入我的自己的前缀。)

我认为Xcode还有一些功能可以从应用程序名称自动执行。也许Cocoa中有一些标准功能可以做到这一点。

1 个答案:

答案 0 :(得分:0)

捆绑标识符应采用反向URL形式(保证全局唯一性):

com.apple.xcode,例如

所以你真的需要一个域名,那么你可以在下面发明你喜欢的任何方案。

考虑到这一点,以及对输入中字符的一些了解,您可以扫描输入组成一个只包含您想要的位的新字符串,或者使用stringByReplacingOccurrencesOfString: withString:等方法,如果您愿意,{ {1}}。

包标识符中允许的字符在Property List Documentation中命名为:

  

捆绑ID字符串必须是统一类型标识符(UTI),其仅包含字母数字(A-Z,a-z,0-9),连字符( - )和句点(。)字符。该字符串也应采用反向DNS格式。