Làm cách nào tôi có thể nhận được một chuỗi Số nhận dạng gói theo chương trình từ trong Ứng dụng của mình?
Làm cách nào tôi có thể nhận được một chuỗi Số nhận dạng gói theo chương trình từ trong Ứng dụng của mình?
Câu trả lời:
Mục tiêu-C
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 1.2
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Swift 3.0
let bundleIdentifier = Bundle.main.bundleIdentifier
Xamarin.iOS
var bundleIdentifier = NSBundle.MainBundle.BundleIdentifier
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Bundle.main.bundleIdentifier!
[[NSBundle mainBundle] bundleIdentifier];
( tài liệu )
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Bạn có thể cần cách tiếp cận Core Foundation để có được giá trị. Ví dụ ARC là như sau:
NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
(const void *)(@"CFBundleIdentifier"));
Tôi sử dụng các macro này để làm cho nó ngắn hơn nhiều:
#define BUNDLEID [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]
#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]
vì vậy tôi chỉ có thể so sánh như thế này:
if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
//do this
}
Nếu bạn đang cố gắng để có được nó bằng lập trình, bạn có thể sử dụng dòng mã dưới đây:
Mục tiêu-C:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 3.0:
let bundleIdentifier = Bundle.main.bundleIdentifier
Cập nhật cho swift mới nhất Nó sẽ hoạt động cho cả ứng dụng iOS và Mac.