假设我有许多应用程序使用的iOS库。我想找出哪个应用程序最终集成我的库而没有APP注意到它。最好的方法是什么?我正在寻找一种使用标准iOS API查询应用程序名称字符串,公司或其他类似标识符的方法。
答案 0 :(得分:2)
使用NSBundle's mainBundle
从应用中获取数据。然后使用该信息以库中常用的一种方法(例如初始化程序)发送网络请求。这样做并不好,因为开发人员希望完全控制自己的应用程序。总有办法看看应用程序是否正在执行它不应该执行的网络请求。用户(程序员)可能还会在没有监控功能的情况下选择另一个库#34;。
我强烈建议您不要实施这样的功能"。你会用脚射击自己。
但要部分回答你的问题;所有相关数据都可以从mainBundle获取:
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
NSString *appDisplayName = [infoDictionary objectForKey:@"CFBundleDisplayName"];
NSString *majorVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];