iOS-是否可以通过更新的XIB从internet下载捆绑包?
我希望在我的应用程序发布后,通过更改XIB、捆绑、下载该捆绑包并配置客户端在这些新捆绑包中查找新的XIB,能够在我的应用程序中自定义XIB 到目前为止,我已将xib添加到我创建的包中,并正在尝试下载它:iOS-是否可以通过更新的XIB从internet下载捆绑包?,ios,bundle,updates,Ios,Bundle,Updates,我希望在我的应用程序发布后,通过更改XIB、捆绑、下载该捆绑包并配置客户端在这些新捆绑包中查找新的XIB,能够在我的应用程序中自定义XIB 到目前为止,我已将xib添加到我创建的包中,并正在尝试下载它: // bundle URL is NSURL to uploaded resource for bundle NSBundle *myBundle = [[NSBundle bundleWithURL:bundleURL] retain]; 我得到这个错误: *** Termina
// bundle URL is NSURL to uploaded resource for bundle
NSBundle *myBundle = [[NSBundle bundleWithURL:bundleURL] retain];
我得到这个错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSBundle initWithURL:]: non-file URL argument'
我的问题是:有可能做我开始要做的事吗?这个错误表明这是不可能的
如果无法下载捆绑包,是否可以只下载一个xib并使用它
谢谢 ,您可以加载仅包含XIB、图像和其他资产的捆绑包。不要尝试加载包含代码的捆绑包,如果您尝试加载代码,苹果会显式检查其数字签名,这会导致加载失败。您会遇到此错误,因为捆绑包存储在文件系统中的文件夹中。您可以轻松下载文件,但无法下载文件夹。NSBundle知道这一点,因此它只允许本地文件URL进行初始化。下载捆绑包有三个选项:
知道了!我正在跟踪那个链接。谢谢@RyanR你怎么知道苹果对试图加载代码的应用程序有明确的检查?您是说“负载将失败”。这是否意味着苹果将批准该应用程序,但当它尝试加载NSBundle时,它将失败?@Roberto这就是iOS这座围墙花园的全部目的。苹果公司设计该系统是为了确保任何人都不能运行未经签名的代码(这就是为什么我们都喜欢讨厌的审批流程是必要的)。另外,您不能为iOS创建框架捆绑包。我在几个版本之前尝试过,结果出现了一个异常。我敢肯定,他们在审批过程中也会扫描这些内容。@JoelTeply如果你详细说明这些评论,也许会更有建设性?好的。如果你正确地使用你的代码,你可以绕过苹果checks@JoelTeply请解释swizzling方法如何规避代码签名检查