是否有任何方式以編程方式在您的iPhone應用程序中查找應用程序標識符前綴?甚至只是爲了獲得整個應用程序標識符字符串?以編程方式查找iPhone應用程序標識符前綴
我看到你可以通過偷看到「embedded.mobileprovision」文件找到它,但有沒有更簡單的方法? (如果你在模擬器中運行,我不這麼認爲)
編輯:對不起,我的意思是標識符PREFIX(10個字符)。我已經意識到,我並不需要這些,因爲ID的其餘部分無論如何都保證是唯一的。
是否有任何方式以編程方式在您的iPhone應用程序中查找應用程序標識符前綴?甚至只是爲了獲得整個應用程序標識符字符串?以編程方式查找iPhone應用程序標識符前綴
我看到你可以通過偷看到「embedded.mobileprovision」文件找到它,但有沒有更簡單的方法? (如果你在模擬器中運行,我不這麼認爲)
編輯:對不起,我的意思是標識符PREFIX(10個字符)。我已經意識到,我並不需要這些,因爲ID的其餘部分無論如何都保證是唯一的。
捆綁ID以St3fan指定的形式存儲在應用包的Info.plist中,但您不應該直接在Info.plist上摸索。相反,使用:
[[NSBundle mainBundle] bundleIdentifier]
如果我理解正確,您正在尋找包標識符?如果你可以得到這種方式。
NSString* appID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
可以通過編程通過查看現有鑰匙串項目的訪問組屬性(即kSecAttrAccessGroup
)檢索捆綁種子ID。在下面的代碼中,我查找現有的KeyChain條目並創建一個,如果它不存在。一旦我有一個KeyChain條目,我從它提取訪問組信息並返回由「。」分隔的訪問組的第一個組件。 (期間)作爲捆綁種子ID。
+ (NSString *)bundleSeedID {
NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys:
kSecClassGenericPassword, kSecClass,
@"bundleSeedID", kSecAttrAccount,
@"", kSecAttrService,
(id)kCFBooleanTrue, kSecReturnAttributes,
nil];
CFDictionaryRef result = nil;
OSStatus status = SecItemCopyMatching((CFDictionaryRef)query, (CFTypeRef *)&result);
if (status == errSecItemNotFound)
status = SecItemAdd((CFDictionaryRef)query, (CFTypeRef *)&result);
if (status != errSecSuccess)
return nil;
NSString *accessGroup = [(NSDictionary *)result objectForKey:kSecAttrAccessGroup];
NSArray *components = [accessGroup componentsSeparatedByString:@"."];
NSString *bundleSeedID = [[components objectEnumerator] nextObject];
CFRelease(result);
return bundleSeedID;
}
張貼複製和樣板/逐字答案粘貼到多個問題時一定要小心,這些往往被標記作爲社區的「垃圾」。如果你這樣做,那麼它通常意味着問題是重複的,所以標記它們。 http://stackoverflow.com/a/11841898/419 – Kev 2012-08-09 22:44:55
謝謝你的擡頭。最初,我添加了一個只有一個鏈接指向我的其他答案的答案,但SO會自動將其轉換爲對該問題的評論。我認爲在這裏複製我的答案會更有幫助,因爲所有其他答案者都誤解了這個問題並給出了錯誤的答案。我應該刪除這個答案並鏈接到另一個答案作爲對這個問題的評論嗎? – 2012-08-09 23:00:13
另外,我檢查了SO的「標誌」功能,並沒有找到合適的選項來標記此問題。這個問題有其他一些信息,其他問題缺乏,所以它不是一個確切的副本。 – 2012-08-09 23:10:19
匿名用戶認爲這是簡單的:'的NSString *的appid = [[一個NSBundle mainBundle] bundleIdentifier]' – mplungjan 2011-12-19 08:36:04