iOS:检测我的SDK是否安装在设备上的其他应用程序上

2023-12-30

我正在为移动设备开发基于位置的问答 SDK。

当询问有关特定位置的问题时,服务器端会定位最相关的用户并将问题发送给该用户。如果用户未能回答,问题将发送给第二好的用户,依此类推。

问题是我的 SDK 可能安装在设备上的多个应用程序上,这意味着用户可以多次收到问题。

有没有一种方法可以检测我的 SDK 是否安装在多个应用程序上?我认为将 UDID 发送到服务器可能会起作用,但是iOS UDID 因应用程序而异 https://stackoverflow.com/a/23109828/51197.


您可以使用 UIPasteboard 在设备上的应用程序之间共享数据。

UIPasteboard 类使应用程序能够在应用程序内以及与另一个应用程序共享数据。要与任何其他应用程序共享数据,您可以使用系统范围的粘贴板;要与与您的应用程序具有相同团队 ID 的其他应用程序共享数据,您可以使用特定于应用程序的粘贴板。

在您的 SDK 中,执行如下操作:

@interface SDKDetector : NSObject

@end

@implementation SDKDetector

+ (void)load
{
    int numberOfApps = (int)[self numberOfAppsInDeviceUsingSDK];
    NSLog(@"Number of apps using sdk:%d", numberOfApps);
}

+ (NSInteger)numberOfAppsInDeviceUsingSDK
{
    static NSString *pasteboardType = @"mySDKPasteboardUniqueKey";

    NSData *value = [[UIPasteboard generalPasteboard] valueForPasteboardType:pasteboardType];
    NSMutableArray *storedData = [[NSKeyedUnarchiver unarchiveObjectWithData:value] mutableCopy];

    if (!storedData) {
        storedData = [NSMutableArray new];
    }

    NSString *bundleId = [[NSBundle mainBundle] bundleIdentifier];
    if (![storedData containsObject:bundleId]) {
        [storedData addObject:[[NSBundle mainBundle] bundleIdentifier]];
    }

    value = [NSKeyedArchiver archivedDataWithRootObject:storedData];
    [[UIPasteboard generalPasteboard] setData:value forPasteboardType:pasteboardType];

    return [storedData count];
}

@end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS:检测我的SDK是否安装在设备上的其他应用程序上 的相关文章

  • TTTAttributedLabel 可点击截断标记

    我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记 NSAttributedString atributedTruncationToken NSAttributedString alloc initWithS
  • 带有 allowedEditing 的 UIImagePickerController 不允许平移裁剪

    我在这里看到这个问题 UIImagePicker 允许编辑卡在中心 https stackoverflow com questions 12630155 uiimagepicker allowsediting stuck in center
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 在故事板中将 UITableView 的 rowHeight 设置为 UITableViewAutomaticDimension ?

    在 Xcode 6 中创建 iOS 8 应用程序时 如何设置 UITableViewrowHeight to UITableViewAutomaticDimension In WWDC 2014 第 226 场会议 表和集合视图中的新增功能
  • ReactNative - 未处理的 JS 异常:SyntaxError

    当我尝试在 iOS 8 上启动 RUN 应用程序时 出现这个奇怪的错误 Unhandled JS Exception SyntaxError仅此而已 不再有更多信息 有any1偶然发现这个问题吗 在 iOs 9 上应用程序运行正常 x代码版
  • 在 hooks 文件夹中使用节点脚本时,cordova 插件安装问题

    Cordova 3 4 hooks 未在 iOS 中正确安装提到的插件 我正在添加install plugins js进入文件夹project project root hooks after platform add其中有以下代码 usr
  • 重叠的装载机圆

    我试图重现苹果为应用程序 活动 制作的重叠圆圈 见下图 如果您使用标准贝塞尔路径 起始 结束位置将仅在 0 到 2PI 之间产生影响 例如 如果您尝试填充 4PI 即使使用一些阴影 则无法模拟重叠加载 如何制作类似于苹果解决方案的东西来创建
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • iOS:滚动视图仅在键盘出现后才起作用

    我制作了滚动视图 其中有很多文本字段 我添加了更新的 TPKeyBoardAvoidingScrollView 并将其添加到滚动视图的文件所有者中 我在 h 文件中添加了插座 在 m 文件中综合并添加了行 self view addSubv
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • 通过 renderInContext 定位要绘制的视图:

    我想画一个UIView在我目前的CGGraphicsContext 我画的是UIView via renderInContext 但它的位置不正确 始终位于左上角 我拥有所有的价值观UIView可用于绘制UIView CGRect fram
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 从 iOS 13 开始安排 iOS 后台任务

    我正在实现用于更新数据的BackgroundTasks 框架 但我遇到了以下问题 无法计划刷新App 错误域 BGTaskSchedulerErrorDomain代码 1 空 无法安排数据提取 Error Domain BGTaskSche
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • 如何在 iOS 应用程序中通过其他应用程序共享内容/数据,就像我们在 Android 应用程序中使用 Intent.ACTION_SEND 所做的那样?

    在Android中 我们可以通过Intent ACTION SEND startactivity api轻松共享内容 文本 图像 视频等 我已经有一个应用程序可以完美地做到这一点 并且有一个并行的 iOS 应用程序 我希望它能够实现相同的功
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • ios - 在哪里放置 s.static_framework = true

    我在 CocoaPods 中的级别为 0 当我使用pod install有一个错误说 The Pods App target has transitive dependencies that include static framework
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt

随机推荐

  • Python 3.6 没有名为 pip 的模块

    我刚刚通过运行在 Fedora 25 64 位 上安装了 Python 3 6dnf install python36我不能使用任何模块 Python 3 5 可以使用 例如 PyCharm 抱怨安装工具未安装 我也可以运行 python3
  • 如何正确将 iso-8859-1 转换为 utf8?

    我需要将响应流写入文件 该流包含一个编码页面 iso 8859 1 这是我的代码 using TextWriter writer new StreamWriter tmpFilePath using TextReader reader ne
  • 有没有办法在 UIScrollView 中模拟scrollViewDidScrollToBottom?

    我想做一个无限滚动 on a UITableViewController 我正在使用scrollViewDidScroll 方法来检查 contentOffset 但是我无法深入了解偏移量底端的滚动视图 有什么建议么 提前致谢 假设 con
  • 如何在c#中设置我想用作应用程序图标的ico?

    我在属性中设置的图标在任务栏和应用程序窗口中可见 但资源管理器中的应用程序图标不同 您设置的应用程序图标是否在不同的图标大小下具有不同的图像 这就是您在资源管理器中看到差异的原因 要对此进行测试 请在 Visual Studio 中打开您的
  • 在 Python 中将位转换为字节

    我正在尝试在 Python 3 x 中将位字符串转换为字节字符串 在每个字节中 位是从高位到低位填充的 如有必要 最后一个字节用零填充 位字符串最初存储为布尔值或整数 0 或 1 的 集合 我想返回 0 255 范围内的整数 集合 我所说的
  • iPhone屏幕分辨率在未来硬件中的变化

    在开发应用程序时 我一段时间以来一直担心的是图像和视图组件的硬编码几何图形 这些图形和视图组件理所当然地认为当前几代显示器的 320x480 特性是理所当然的 我在 StackOverflow 和在屏幕尺寸中硬编码的示例 教程中看到了很多答
  • phpstorm中如何设置行注释的样式

    如何将 PHPStorm 中行注释的默认样式更改为缩进级别而不是第一列 if condition At first column At indentation level 对于 Ctrl 行注释 位于 设置 gt 代码样式 gt PHP g
  • 如何将节点 Winston JSON 输出更改为单行

    当我创建一个nodejs Winston控制台记录器并设置json true 它总是以多行格式输出 JSON 日志 如果我将它们通过管道传输到一个文件并尝试 grep 该文件 我的 grep 命中仅包含日志行的一部分 我希望温斯顿以 JSO
  • 如何在html视图中从数据库获取数据到Dropdownlist

    我正在创建一个网页 其中有一个Dropdownlist 我必须从数据库中检索 drop down list 的数据 有没有办法从数据库获取数据到html视图我的html代码
  • CSS3多重过渡反转动画

    我有一个 div 我正在尝试使用 CSS 制作动画 div width 100px height 50px moz transition width 1s height 1s 1s div hover width 400px height
  • 如何检查单个字符是否等于给定的一组字符中的至少一个?

    对不起这个标题 请随意将其编辑为更清晰的内容 我有一个字符串 我必须检查该字符串的第一个字符是否等于其他给定字符之间的至少一个 例如 B Z 和 K 在我的例子中 我有大约 10 个字符要检查 但它们不是可以分类为一个范围 我正在按如下方式
  • 无法找出C程序中的逻辑错误

    一种每行打印一个单词的输入的程序 int main int c while c getchar EOF if c c n c t putchar n else putchar c return 0 上面的程序正确打印结果 每行一个字 相应地
  • OmniContacts gem 总是无法导入我的 yahoo 联系人

    我正在使用 OmniContacts gem 将联系人从 yahoo 和 gmail 导入到我的应用程序 现在雅虎进口商停止工作 我的控制器上有以下操作 def contacts callback contacts request env
  • AngularJS 指令中没有值的属性

    我已经编写了一个具有隔离范围的指令 app directive myDirective function return restrict E scope attr1 attr2 noValueAttr what to put here li
  • Docker for Windows Kubernetes pod 在创建新部署后获取 ImagePullBackOff

    我已经成功构建了 Docker 镜像并在 Docker 群中运行它们 当我尝试构建映像并使用 Docker Desktop 的 Kubernetes 集群运行它时 docker build t myimage f myDockerFile
  • 如何比较两个字符串汇编

    谁能告诉我如何用汇编语言比较两个字符串 我写了以下内容 但它似乎不起作用 assume cs code ds data data segment sirlung db abcdjjj lungimelung equ sirlung sirs
  • 从 Mac 终端运行/打开 VSCode

    我想通过运行此命令从 Mac OSX 终端运行 打开 Visual Studio Codecode 我在这里找到了说明 https code visualstudio com Docs setup https code visualstud
  • AppBarLayout 和 Toolbar 的新 Android 设计库错误

    我正在使用基于此示例的新 Android 设计库克里斯班斯 奶酪广场 https github com chrisbanes cheesesquare在 github 和here http android developers blogsp
  • 未能在 SOAP 上加载外部实体错误

    我称为位于 https 协议上的 Web 服务 我在调用它时收到 无法加载外部实体 错误 正如我在 google 上搜索的那样 这是因为在 PHP5 中 SOAP 类不会解析位于安全 HTTPS 连接上的 WSDL 文件 解决办法是什么 我
  • iOS:检测我的SDK是否安装在设备上的其他应用程序上

    我正在为移动设备开发基于位置的问答 SDK 当询问有关特定位置的问题时 服务器端会定位最相关的用户并将问题发送给该用户 如果用户未能回答 问题将发送给第二好的用户 依此类推 问题是我的 SDK 可能安装在设备上的多个应用程序上 这意味着用户