我不得不承认,随着iOS 8的发布,我对iOS中的动态和静态框架感到有些困惑.
我正在寻找一种方法来分发我创建的库,我需要支持iOS 7及更高版本.(注意:这将是一个专有框架.我不能使用可可豆荚,我也不能分发来源).这是我已经知道的:
以下是关于此信息的问题:
frameworks static-libraries static-linking ios ios-frameworks
使用Xcode 6,我们可以创建自己的Dynamic Cocoa Frameworks.

因为:
模拟器仍然使用32-bit库
从2015年6月1日开始,提交到App Store的应用更新必须包含64位支持,并使用iOS 8 SDK(developer.apple.com)构建
我们必须使胖库在设备和模拟器上运行项目.即支持Frameworks中的32位和64位.
但我没有找到任何手册,如何导出通用胖框架以便将来与其他项目集成(并与某人共享此库).
设置ONLY_ACTIVE_ARCH=NO在Build Settings

支持添加armv7 armv7s arm64 i386 x86_64至Architectures(肯定)


但最终我仍然遇到在设备和模拟器上同时使用此框架运行项目的问题.
如果我从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 …
我们有一个框架或库的想法,对任何iOS开发人员都非常有帮助.因此,我们正在认真考虑从应用程序开发切换到框架/库开发.
但是当我们想要为库/框架收费时,我们必须以某种方式保护代码.我们如何以这样的方式构建框架,使我们框架的用户看不到源代码,类似于我们如何看不到Apples框架的源代码?我猜他们只用汇编的框架发送头文件和一些奇怪的Unix exe文件.
或者如果不可能使其他iOS开发人员可以使用的编译框架/库而无法复制和粘贴我们的源代码,那么有没有办法混淆Objective-c代码?
有人可以解释一下Django和模型视图控制器模式之间的差异吗?
从功能上来说,我们可以从这些差异中得到什么 - 例如,将Django与Ruby on Rails进行比较的方式有何不同?
我刚开始学习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仍未显示!
我怎样才能克服这个问题,并且变得更好 - 因为我正在慢慢地学习这个框架.
我们都知道单身人士有多糟糕,因为他们隐藏了依赖关系和其他原因.
但是在一个框架中,可能有许多对象只需要实例化一次并从任何地方调用(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开发了大约8年.在2009年,我选择了codeigniter,从那时起我就没有成功开发出一个项目.
我发现如果我想要如何修改它以我想要的方式工作,如果我在纯PHP中工作,我知道,或者我能够快速找到一个片段,这让我感到迟钝.
我已经尝试过CodeIgniter,Kohana和Symfony.我喜欢易用性(我也开始使用doctrine作为一个ORM,大大加快了我的数据库工作),但我发现项目花了我3-4倍于纯PHP的时间.当我无法找到解决我之前在纯PHP中解决的问题的解决方案时,我感到无聊和沮丧.
有没有人从使用框架回到无框架方法.是否有类似基本安全框架的东西(阻止XSS,过滤发布的数据,提供与数据库一起使用的清理功能)?我认为这样的事情比完整的框架更有益于我.我认为学习使用框架已经教会了我很多东西,但我会更乐意使用我自己的代码.
我试图在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?或者,任何人都可以弄清楚如何实现它?
使用外部框架时,Xcode现在有一个嵌入式二进制文件和链接框架部分.
当您下载外部框架和Finder->将其拖入Xcode时,它会将框架放入Linked Frameworks and Libraries部分.
当您使用Carthage构建库时,建议您拖入嵌入式二进制文件部分.
两者似乎都在链接方面起作用,因为API可用于任何一种方式,在嵌入式二进制文件部分中添加框架时,它也会自动添加到" 链接的框架和库"部分中.
那么,谁是对的?迦太基或其他互联网?为什么有两个选项可以将外部资源包含到Xcode项目中?
frameworks ×10
ios ×4
php ×3
iphone ×2
xcode ×2
carthage ×1
cocoa-touch ×1
codeigniter ×1
crud ×1
django ×1
ipad ×1
javascript ×1
laravel ×1
oop ×1
pastrykit ×1
scaffolding ×1
xcode7 ×1