Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS应用程序中包含特殊开发人员/测试功能的正确方法?_Ios_Iphone_Xcode_Testing_App Store Connect - Fatal编程技术网

在iOS应用程序中包含特殊开发人员/测试功能的正确方法?

在iOS应用程序中包含特殊开发人员/测试功能的正确方法?,ios,iphone,xcode,testing,app-store-connect,Ios,Iphone,Xcode,Testing,App Store Connect,我正在为一个客户端构建一个iPhone应用程序,该客户端最终将控制应用程序中出现的一些动态内容,并向用户群发送推送通知。我希望我的客户有一个特殊版本的应用程序,或者在他自己安装的应用程序中启用特殊功能,这样他可以在向公众发布之前测试他推送的一些内容。正确的方法是什么?我希望它是可持续的,这样我就不必在每次发布更新时亲自手动配置他的手机,或者在将来他可能会得到一部新手机时。该应用程序不会对用户进行身份验证,因此没有预先存在的用于确定特定用户身份的基础设施 我唯一的想法,似乎是个坏主意,本质上是包括

我正在为一个客户端构建一个iPhone应用程序,该客户端最终将控制应用程序中出现的一些动态内容,并向用户群发送推送通知。我希望我的客户有一个特殊版本的应用程序,或者在他自己安装的应用程序中启用特殊功能,这样他可以在向公众发布之前测试他推送的一些内容。正确的方法是什么?我希望它是可持续的,这样我就不必在每次发布更新时亲自手动配置他的手机,或者在将来他可能会得到一部新手机时。该应用程序不会对用户进行身份验证,因此没有预先存在的用于确定特定用户身份的基础设施


我唯一的想法,似乎是个坏主意,本质上是包括一个“复活节彩蛋”,你点击应用程序标签栏上的某个组合或类似疯狂的东西,之后额外的功能将被启用。但肯定有一种不那么老套的方法可以做到这一点?

我会使用
UIDevice
identifierForVendor
属性,它返回一个
nsuid
(你可以通过
nsuid
上的
uuidtring
属性获得一个
NSString

例如:

NSString *identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
从文件中:

对于在同一设备上运行的来自同一供应商的应用程序,此属性的值相同。对于来自不同供应商的同一设备上的应用程序,以及不同设备上的应用程序,无论供应商如何,都会返回不同的值


因此,只需在客户机的设备上运行一次,获取他们的UUID字符串,并添加对相同UUID的检查,以启用特殊的调试功能。

试飞怎么样?虽然它确实需要您在发布前手动输入将使用该应用程序的用户的电子邮件地址,但您不需要进行配置文件设置。只是一个想法…@TooManyEduardos我希望试飞会是一个解决方案,但我以前没有使用过它,所以我不知道我能用它做什么。我的用例不是让某人在应用程序发布之前测试它,而是让某人在应用程序中拥有特殊的管理功能,即使在发布之后。这是测试飞行的一个好用例吗?不,那将是一个困难的用例。TestFlight适用于未发布的版本,仅持续30天。你可以通过上传一个新版本(而不是发布)来延长时间,但你将每30天上传一次。很抱歉,从长远来看,这似乎是不可扩展的(如果我的客户端获得新设备或其他人需要相同的访问权限,我必须亲自到场),但也许我会暂时使用它。你可以随时向它添加服务器组件,以消除使用新应用程序二进制文件更新它的需要。将UUID字符串发送到服务器以验证是否应启用调试模式。然后我如何知道谁的UUID是谁的?这取决于您。你可以在应用程序中的某个位置查看UUID或将其发送给你。让你的目标用户这样做。然后将它们注册到数据库中。可能性由你决定。