iOS静态库

iOS静态库,ios,static-libraries,Ios,Static Libraries,我对iOS开发相当陌生。 我需要从当前应用程序创建一个静态库,我们希望提供给客户,以便将其集成到他们自己的应用程序中。现在我不知道苹果是否允许这样的事情 我设法创建了静态库,但我不知道哪些文件需要作为公共头文件,哪些不是。基本上,库的最简单实现是,客户端将添加一个按钮,将我们的应用程序放在他们的应用程序中。正如我所说,我甚至不知道这是否可能,但从我目前所读到的,这应该是可能的,但我还没有找到任何例子或帮助如何使它发生 下面是AppDelegate.m中的代码 #import "AppDelega

我对iOS开发相当陌生。 我需要从当前应用程序创建一个静态库,我们希望提供给客户,以便将其集成到他们自己的应用程序中。现在我不知道苹果是否允许这样的事情

我设法创建了静态库,但我不知道哪些文件需要作为公共头文件,哪些不是。基本上,库的最简单实现是,客户端将添加一个按钮,将我们的应用程序放在他们的应用程序中。正如我所说,我甚至不知道这是否可能,但从我目前所读到的,这应该是可能的,但我还没有找到任何例子或帮助如何使它发生

下面是AppDelegate.m中的代码

#import "AppDelegate.h"

#import "GlobalViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
    [[UIApplication sharedApplication] registerForRemoteNotifications];
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.viewController = [[GlobalViewController alloc] initWithNibName:@"GlobalViewController" bundle:nil];


    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;

}
现在的问题是我应该在图书馆里放什么。h和图书馆。m? 还有,我应该如何调用使用库的演示应用程序中的视图控制器


谢谢大家的帮助

客户端将添加一个按钮,将我们的应用程序放在他们的应用程序中。

如果您想使用此函数,则无需创建静态库

你可以用


[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@“xxx:xxx”];

不要忘记在Xcode
TARGETS->Info->URL Types
中配置
URL模式
,这是一个非常适合您的情况:如何创建和使用静态库,使其通用(支持32位和64位体系结构),将头文件放在何处

然而,为了简单使用,我认为创建框架或捆绑包而不是静态库会更好。如果你想知道怎么做,这里有另一个

编辑 好的,这是一个简单的例子。不要再担心那些静态库、头文件。。。事情只需编写一些类并将其添加到您的项目中,假装您将向您的客户提供lib的完整源代码。如果它们有效,则继续将其打包到框架或静态库中。首先创建一个Viewcontroller类,该类将显示初始化时给定的任何字符串

头文件:

#import <UIKit/UIKit.h>
@interface YourViewController : UIViewController
-(instancetype)initWithString:(NSString*)text;
-(void)presentFromViewController:(UIViewController*)viewController;
@end
presentFromViewController
实现了这一点

它将在您的客户项目中使用,如下所示。与您的问题一样,当用户单击按钮时,将显示viewcontroller:

导入头文件

 #import "YourViewController.h"  
然后,在按钮代码处添加以下行:

- (IBAction)yourButtonOnClick:(id)sender {
    YourViewController *vc=[[YourViewController alloc] initWithString:@"It works!"];
    [vc presentFromViewController:self];
}

希望这能有所帮助。

您可以构建自己的框架,用户可以将其作为重要内容,这就是我正在尝试做的,我从一个静态库开始,并成功地集成了静态库,但正如我在问题中所说的,我不知道应该将哪些文件作为公共标题,因此,我可以从使用库的应用程序启动视图控制器。我也不太熟悉iOS,开始学习它,但现在我也在努力解决这个问题。关于如何访问新应用程序中的视图控制器或应用程序委托,有什么指导原则吗?一旦我成功修复了静态库,我就找到了如何创建可导入框架的教程。但首先我想测试是否可以通过静态库来完成,然后我将继续做这个框架。我想实现的是,我将应用程序1创建为库1,我有应用程序2,它将导入或链接库1,在按钮1上按以激活库1中的UI,然后在按钮2上按以激活其自身的UI或功能。在另一篇文章上看一看我的答案这与你的问题不同,但你会有这个问题。我已经实现了一些类似于你所问的问题,这个问题/答案帮助了我是的,我会研究它,也许这会解决我的问题。事实上,我认为这个问题中的一条评论,实际上就是我想要的,功能是从应用程序中的库中获取故事板,并显示它。但是他们是否需要在手机上安装我们的应用程序?我的应用程序可能未安装在用户设备上,因此我希望在客户端应用程序中包含静态库,以便它可以在app2中打开app1的UI。
[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@”“]
这可以知道你的应用是否已安装。如果你想在客户端应用中包括静态库,你不能只更换
rootViewController
或只
提供一个新的viewcontroller
好,那么你建议如何实现这一点?如何在app2内部使用app1的UI?如何添加我的应用程序的功能,客户端应用程序内部?好的,有任何帮助吗?链接,我可以找到一些例子或教程?你有什么样的代码?我发现在android上做这件事很容易,但在iOS上,我觉得有点难。我找不到有解释的真实例子,关于如何创建库并在新应用程序中使用它。提前感谢您的帮助
app1.window.rootViewController=app1.viewController按钮方法<代码>[UIApplication sharedApplication]keyWindow.rootViewController=app2.rootViewController是的,我遵循了第二篇文章“如何创建框架”,我做了库部分,但这就是我遇到的问题,不是我无法继续,而是如何从库中启动viewcontroler?我计划继续框架路径,创建框架,但如果我无法在新应用程序中启动库的viewcontroler,当我被困在这一点上时,继续创建框架还有什么意义呢point@BorceIvanovski我刚刚更新了一些代码。希望有帮助。谢谢你的代码,我正在努力理解它,但我想我无法理解。有可能帮助我处理我的具体案件吗?或者至少可以查看您拥有的库文件,以及所有文件是如何连接的?从一个明确的具体例子来看,我想我能理解,但像这样我就不能理解。我创建了library.h和library.m文件,我把这些文件放在你写的文件里。当我尝试创建ob时
- (IBAction)yourButtonOnClick:(id)sender {
    YourViewController *vc=[[YourViewController alloc] initWithString:@"It works!"];
    [vc presentFromViewController:self];
}