问题标签 [ios-universal-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 通用框架不构建 i386?
我正在使用出色的iOS 通用框架脚本来构建我自己的框架,并且它在一段时间内运行良好。我不确定确切的时间,但它似乎已经停止构建 i386。使用生成的框架的应用程序不再适用于模拟器。
我已经VALID_ARCHS = arm64 armv7 armv7s i386 x86_64
安排好了。和ONLY_ACTIVE_ARCH = NO
。构建脚本不会抛出任何错误或日志。然而,我最终得到了一个没有 i386 或 x86_64 的瘦框架,因此任何依赖此框架的项目在为模拟器构建时都会出现链接器错误。
额外信息:
- 使用来自主仓库的 Mk8 脚本最新版本。
- 归档,而不是像某些错误所暗示的那样构建。
有任何想法吗?
cocoa - Xcode 6 iOS 创建 Cocoa Touch 框架 - 架构问题
我正在尝试为 iOS 应用程序制作一个动态框架。感谢新版本的 Xcode (6),我们可以在创建新项目时选择 Cocoa Touch Framework,不再需要添加聚合目标、运行脚本等来制作。构建框架时我没有问题。但是当我尝试在 iOS 应用程序中使用它时,我遇到了一些架构问题。
好吧,我尝试更改框架项目和目标的设置(架构和仅构建有效架构和有效架构)。我为 iOS 应用程序项目做了同样的事情,但没有任何效果。我觉得有些东西我不明白。
例如,当我使用命令行“xcrun lipo -info MyFramework”为仅 i386(iOS 模拟器)检查构建框架时,我遇到的问题是
ld:警告:忽略文件/Library/Frameworks/MyFramework.framework/MyFramework,文件是为x86_64构建的,它不是被链接的架构(i386)......
如果有人可以帮助我获得适用于所有 iOS 架构(包括模拟器)的框架。
ios - 在客户端获取 iOS 通用框架的版本号
这可能不仅限于iOS 通用框架,而是所有 xxx.framework 文件。但是,我似乎找不到有关如何在客户端应用程序中获取当前版本和构建框架的文档。在一个应用程序中,你会使用类似的东西:
这将为您提供存储在应用程序的 Info.plist 中的当前信息。但是我们如何找到框架的信息。就我而言,特别是嵌入式框架。
ios - 有没有办法在 cloudbees 产生的 Jenkins slave 上安装 ios-universal-framework?
使用本地的 Master Jenkins 和 cloudbees 插件,我能够启动 iOS 构建到云蜜蜂实例。它很甜。
我的 IOS 开发人员需要克隆 ios-universal-framework 存储库,然后运行该存储库中包含的 install.sh 脚本。一切正常,直到脚本发出“sudo”命令将文件复制到目录中
“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications”
cp 命令需要 sudo 权限。我认为这是不可能的,但由于我在免费试用计划中,所以我可以在这里找到支持。感谢大家阅读。
托尼
xcode - Xcode 创建通用框架作为通用框架的依赖项
目前,当我分发我的通用框架时,我必须分发包含在构建阶段中的通用框架 - 将二进制文件与库链接。我想将所有东西捆绑到一个整洁的通用框架中,这样我的用户就可以轻松地链接到我的通用框架,而无需打扰其他人。
我正在尝试将另外两个通用框架“嵌入”到我的通用框架中。我在这里学习本教程: 将框架开发为依赖项目
这是我的项目结构的图片。注意Frameworks下的两个项目:
我已将项目目标添加到目标依赖项,并将.a 文件链接到 Link Binary With Libraries 中。我能够毫无错误地构建依赖项目。
- 当我尝试构建我的主要通用框架时,我遇到的第一个问题是它找不到我添加到构建阶段 - 复制文件部分的头文件。但是,我确实将它们添加到 Aggregate 目标而不是 Project 目标,这是配置其他依赖项目的方式,并且 Headers 似乎没有问题。
如果我解决了这个问题,主通用框架可能会产生正确的输出。目前,它没有生产预期的产品(Debug-iphoneos、Debug-iphonesimulator 和 Debug-iphoneuniversal)。请参阅下面的更多评论。
您可以看到 Products 仅包含 Debug-iphoneos 并且 .frameworks 未在此处列出,但 .a 库文件在其中。
编辑:新方向
我在这里被撕裂了。在上面的代码中,说明向您展示了如何将依赖的框架添加到项目的框架文件夹中。但在进一步阅读后,我看到有些人在哪里创建了一个工作区,并将依赖项目添加到与主项目相同的级别,如下所示:
我已经设法构建了所有三个项目,但是配置太脆弱了。如这些说明中所述,我尝试进行更改以指向头文件的公共文件夹,但构建开始失败。我已经取消了该更改,并且构建再次运行。
我将继续为此而奋斗,但我很想听听已经这样做并让它发挥作用的人的来信。
ios - 如何在 xcode6 中创建通用框架
我知道如何在 Xcode 5 中创建框架。但是在 Xcode 6 中,如何结合模拟器框架和设备框架?当我尝试合并时,出现代码签名错误。当我使用lipo
结合这两个框架时,我也得到一个错误。
错误: Command /bin/sh failed with exit code 65
ios - Xcode 6, iOS 8, Cocoa Touch Framework Bi directional frameworks / cyclic dependency error
My first time to post in here. Can't find any answer anywhere on my question. Please anyone:
I used earlier the iOS-Universal-Framework / fake framework to build two big frameworks, that depends of each other. So f.x. just to clarify:
Framework 1 (F1) has class A, B, C, ...
Framework 2 (F2) has class D, E, F, ...
So, what I normally did was to:
1) compile F1 with a global macro 'ENABLE_F2_METHODS_AND_TYPES' = 0
2) then moved to F2 and compiled F2 similarly with a macro 'ENABLE_F1_METHODS_AND_TYPES' = 0
Now both framework exists with class, types, etc.
3) compile F1 with macro = 1
4) compile F2 with macro = 1
That was all.
Now, the iOS-Universal-Framework is deprecated, and I have decided to move the frameworks into Cocoa Touch frameworks. So, at this moment, I have two Touch frameworks, but if I try to do similar approach, I successfully compile the two first steps, but not the third step.
I try to do some different attempts but didn't succeed.
I get the error:
Cannot find interface declaration for 'B' superclass of 'D';
so, what I tried is to add the #import "<F1/B.h>"
, but then get the error
Cyclic dependency in module 'F2': F2 -> F1 -> F2
How to solve this? Any other ideas?
IF succeeded, how to avoid that the frameworks is not going to be integrated into each other (Umbrella framework), but standalone frameworks. What I mean, in the
'Project' -> General -> 'Linked Frameworks and Libraries' -> I can choose "Required/Optional'.... Will that help or?
Thanks in advance.