标签: frameworks

iOS Static vs Dynamic框架说明

我不得不承认,随着iOS 8的发布,我对iOS中的动态和静态框架感到有些困惑.

我正在寻找一种方法来分发我创建的库,我需要支持iOS 7及更高版本.(注意:这将是一个专有框架.我不能使用可可豆荚,我也不能分发来源).这是我已经知道的:

  • iOS 8为iOS引入了"嵌入式框架",但据我了解,它们不适用于iOS 7,仅适用于iOS 8及更高版本.
  • 我可以选择将我的库分发为静态库(.a文件)并分发标头.我知道这是处理这种情况的常用方法,但我想找到一些比这更简单的东西(如果可能的话,还要用它捆绑一些资源).
  • 我还发现iOS 7不支持动态.framework库(仅静态),因为它不支持动态链接.但是iOS 8和静态链接一样.

以下是关于此信息的问题:

  • 我看到我可以创建一个.framework目标,并通过将Mach-O类型更改为"静态库"使其成为静态.这是否足以支持iOS 7而没有任何问题,并且还可以将我的库分发为.framework bundle?如果是这样的话,为什么iOS 8中的"嵌入式框架"是一个很大的交易,因为互联网上的许多资源都在暗示?我错过了什么?
  • 是否有必要对.framework进行编码,就像我对其他任何应用程序一样?
  • 如果我需要在我的.framework文件中包含其他资源(如核心数据或图像),该怎么办?我需要为此制作一个单独的.bundle文件吗?

frameworks static-libraries static-linking ios ios-frameworks

107
推荐指数
5
解决办法
3万
查看次数

如何导出"胖"Cocoa Touch Framework(用于模拟器和设备)?

使用Xcode 6,我们可以创建自己的Dynamic Cocoa Frameworks.

在此输入图像描述

因为:

  • 模拟器仍然使用32-bit

  • 从2015年6月1日开始,提交到App Store的应用更新必须包含64位支持,并使用iOS 8 SDK(developer.apple.com)构建

我们必须使胖库在设备和模拟器上运行项目.即支持Frameworks中的32位和64位.

但我没有找到任何手册,如何导出通用胖框架以便将来与其他项目集成(并与某人共享此库).

以下是我重现的步骤:

  1. 设置ONLY_ACTIVE_ARCH=NOBuild Settings

    在此输入图像描述

  2. 支持添加armv7 armv7s arm64 i386 x86_64Architectures(肯定)

在此输入图像描述

  1. 构建框架并在Finder中打开它:

在此输入图像描述 在此输入图像描述

  1. 将此框架添加到另一个项目中

实际结果:

但最终我仍然遇到在设备和模拟器上同时使用此框架运行项目的问题.

  • 如果我从Debug-iphoneos文件夹中获取框架- 它适用于设备并在模拟器上获取错误:ld: symbol(s) not found for architecture i386

    xcrun lipo -info CoreActionSheetPicker
    
    Run Code Online (Sandbox Code Playgroud)

    胖文件中的体系结构:CoreActionSheetPicker是:armv7 armv7s arm64

  • 如果我从Debug-iphonesimulator文件夹中获取框架- 它适用于模拟器.我在设备上有错误:ld: symbol(s) not found for architecture arm64

    xcrun lipo -info CoreActionSheetPicker
    
    Run Code Online (Sandbox Code Playgroud)

    胖文件中的体系结构:CoreActionSheetPicker是:i386 x86_64

那么,如何创建一个适用于设备和模拟器的动态框架?

这个答案与Xcode 6 iOS …

xcode cocoa-touch frameworks ios ios-universal-framework

107
推荐指数
3
解决办法
3万
查看次数

如何以安全的方式为其他开发人员构建框架或库?

我们有一个框架或库的想法,对任何iOS开发人员都非常有帮助.因此,我们正在认真考虑从应用程序开发切换到框架/库开发.

但是当我们想要为库/框架收费时,我们必须以某种方式保护代码.我们如何以这样的方式构建框架,使我们框架的用户看不到源代码,类似于我们如何看不到Apples框架的源代码?我猜他们只用汇编的框架发送头文件和一些奇怪的Unix exe文件.

或者如果不可能使其他iOS开发人员可以使用的编译框架/库而无法复制和粘贴我们的源代码,那么有没有办法混淆Objective-c代码?

iphone frameworks ipad ios

106
推荐指数
3
解决办法
7万
查看次数

Django与模型视图控制器

有人可以解释一下Django和模型视图控制器模式之间的差异吗?

从功能上来说,我们可以从这些差异中得到什么 - 例如,将Django与Ruby on Rails进行比较的方式有何不同?

django model-view-controller frameworks

105
推荐指数
4
解决办法
6万
查看次数

在Laravel视图中使用CSS?

我刚开始学习Laravel,可以完成控制器和路由的基础知识.

我的操作系统是Mac OS X Lion,它位于MAMP服务器上.

来自routes.php的代码:

Route::get('/', function() {
    return View::make('home.index');
});

Route::get('businesses', function() {
    return View::make('businesses.index');
});

Route::get('testing', function() {
    return View::make('testing.index');
});        

Route::get('hello', function() {
    return "<h3>Hello world!</H3>";
});
Run Code Online (Sandbox Code Playgroud)

这有效,视图显示完美,''然而''我想要尝试和做的是在视图中包含CSS,我尝试添加到目录中的样式表的链接,但页面显示为默认浏览器字体甚至虽然CSS在HTML中!

这是来自views文件夹中的企业的index.php:

<head>
   <link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

<p>Business is a varied term. My content here.
Run Code Online (Sandbox Code Playgroud)

我尝试在我的其他视图文件夹(测试)中使用Blade模板引擎来显示CSS但是尽管它在测试文件夹中,CSS仍未显示!

我怎样才能克服这个问题,并且变得更好 - 因为我正在慢慢地学习这个框架.

php frameworks laravel

102
推荐指数
11
解决办法
27万
查看次数

如果单身人士不好,为什么服务容器好?

我们都知道单身人士有多糟糕,因为他们隐藏了依赖关系和其他原因.

但是在一个框架中,可能有许多对象只需要实例化一次并从任何地方调用(logger,db等).

为了解决这个问题,我被告知使用一个所谓的"对象管理器"(或像symfony这样的服务容器),它在内部存储对服务的每个引用(记录器等).

但为什么服务提供商不像纯粹的单身人士那样糟糕?

服务提供商也隐藏了依赖关系,他们只是创建了第一个istance.所以我真的很难理解为什么我们应该使用服务提供商而不是单身人士.

PS.我知道不要隐藏依赖关系我应该使用DI(如Misko所述)

我想补充一点:这些天单身人士不是那么邪恶,PHPUnit的创建者在这里解释:

DI + Singleton解决了这个问题:

<?php
class Client {

    public function doSomething(Singleton $singleton = NULL){

        if ($singleton === NULL) {
            $singleton = Singleton::getInstance();
        }

        // ...
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

这很聪明,即使这根本不能解决所有问题.

除DI和Service Container之外是否有任何可接受的解决方案来访问此帮助程序对象?

php oop frameworks design-patterns

90
推荐指数
2
解决办法
2万
查看次数

从框架到无框架

作为一个爱好,我已经用PHP开发了大约8年.在2009年,我选择了codeigniter,从那时起我就没有成功开发出一个项目.

我发现如果我想要如何修改它以我想要的方式工作,如果我在纯PHP中工作,我知道,或者我能够快速找到一个片段,这让我感到迟钝.

我已经尝试过CodeIgniter,Kohana和Symfony.我喜欢易用性(我也开始使用doctrine作为一个ORM,大大加快了我的数据库工作),但我发现项目花了我3-4倍于纯PHP的时间.当我无法找到解决我之前在纯PHP中解决的问题的解决方案时,我感到无聊和沮丧.

有没有人从使用框架回到无框架方法.是否有类似基本安全框架的东西(阻止XSS,过滤发布的数据,提供与数据库一起使用的清理功能)?我认为这样的事情比完整的框架更有益于我.我认为学习使用框架已经教会了我很多东西,但我会更乐意使用我自己的代码.

php frameworks codeigniter

89
推荐指数
4
解决办法
1万
查看次数

88
推荐指数
6
解决办法
4万
查看次数

什么是PastryKit框架?

我试图在PastryKit Javascript框架上找到任何可以获得的信息.它似乎在iPhone用户指南中使用,该指南在Mobile Safari中显示在iPhone上,但我找不到任何文档或API.如果要查看其中的操作,请打开Safari 4,将用户代理设置为iPhone 3(在"开发"菜单中)并查看指南.

总的来说,它似乎是一种编写类似于原生iPhone应用程序的HTML/CSS/Javascript应用程序的方法.

说到Javascript,我使用了JS Beautifier(我假设是)框架文件,它超过了3,400行!美化,(我再次假设)他们的实施超过1,200行.

在CSS方面,我使用了Clean CSS(我再次假设)框架CSS,它出现了超过700行.他们的执行情况低于500.

是否有人在PastryKit上拥有或知道在哪里找到任何信息,文档或API?或者,任何人都可以弄清楚如何实现它?

javascript iphone frameworks mobile-safari pastrykit

85
推荐指数
4
解决办法
3万
查看次数

嵌入式二进制文件和链接框架之间有什么区别

使用外部框架时,Xcode现在有一个嵌入式二进制文件链接框架部分.

在此输入图像描述

当您下载外部框架和Finder->将其拖入Xcode时,它会将框架放入Linked Frameworks and Libraries部分.

当您使用Carthage构建库时,建议您拖入嵌入式二进制文件部分.

两者似乎都在链接方面起作用,因为API可用于任何一种方式,在嵌入式二进制文件部分中添加框架时,它也会自动添加到" 链接的框架和库"部分中.

那么,谁是对的?迦太基或其他互联网?为什么有两个选项可以将外部资源包含到Xcode项目中?

xcode frameworks ios carthage xcode7

79
推荐指数
2
解决办法
2万
查看次数