- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我尝试将我的 Assets ( Sprite 表)放入 iOS 框架之前,一切都运行良好。我正在使用 Swift 3.0
为了减轻我的 Xcode 项目的负担,我决定将我的 Assets :TexturePacker 生成的 Sprite 表放在一个框架内。当它们作为内部资源包含在主项目中时,一切正常。但是,当我将我的 map 集放入一个框架中时,代码编译正常,没有错误,该应用程序在物理设备(iPad)上运行良好,但我有一个红叉而不是我的 Sprite 。我从控制台收到以下错误消息:
2016-11-02 15:35:02.166 测试拼图 [310:42458] 找不到纹理图集“Statiques”。2016-11-02 15:35:02.392 测试拼图 [310:42458] 找不到纹理图集“Puzzle0”。2016-11-02 15:35:02.393 测试拼图 [310:42458] 找不到纹理图集“Puzzle1”。
等等,等等(直到 41)
我已经将 public 关键字放在我的类和从主项目调用的所有函数之前。这是一个例子...
import SpriteKit
public class Statiques {
public init() {
}
// sprite names
let DANCING1 = "Dancing1"
let DANCING2 = "Dancing2"
let PUZZLE0 = "Puzzle0"
let PUZZLE1 = "Puzzle1"
let PUZZLE10 = "Puzzle10"
let PUZZLE11 = "Puzzle11"
let PUZZLE12 = "Puzzle12"
let PUZZLE13 = "Puzzle13"
let PUZZLE14 = "Puzzle14"
let PUZZLE15 = "Puzzle15"
let PUZZLE16 = "Puzzle16"
let PUZZLE17 = "Puzzle17"
let PUZZLE18 = "Puzzle18"
let PUZZLE19 = "Puzzle19"
let PUZZLE2 = "Puzzle2"
let PUZZLE20 = "Puzzle20"
let PUZZLE21 = "Puzzle21"
let PUZZLE22 = "Puzzle22"
let PUZZLE23 = "Puzzle23"
let PUZZLE24 = "Puzzle24"
let PUZZLE25 = "Puzzle25"
let PUZZLE26 = "Puzzle26"
let PUZZLE27 = "Puzzle27"
let PUZZLE28 = "Puzzle28"
let PUZZLE29 = "Puzzle29"
let PUZZLE3 = "Puzzle3"
let PUZZLE30 = "Puzzle30"
let PUZZLE31 = "Puzzle31"
let PUZZLE32 = "Puzzle32"
let PUZZLE33 = "Puzzle33"
let PUZZLE34 = "Puzzle34"
let PUZZLE35 = "Puzzle35"
let PUZZLE36 = "Puzzle36"
let PUZZLE37 = "Puzzle37"
let PUZZLE38 = "Puzzle38"
let PUZZLE39 = "Puzzle39"
let PUZZLE4 = "Puzzle4"
let PUZZLE40 = "Puzzle40"
let PUZZLE41 = "Puzzle41"
let PUZZLE5 = "Puzzle5"
let PUZZLE6 = "Puzzle6"
let PUZZLE7 = "Puzzle7"
let PUZZLE8 = "Puzzle8"
let PUZZLE9 = "Puzzle9"
// load texture atlas
let textureAtlas = SKTextureAtlas(named: "Statiques")
// individual texture objects
public func Dancing1() -> SKTexture { return textureAtlas.textureNamed(DANCING1) }
public func Dancing2() -> SKTexture { return textureAtlas.textureNamed(DANCING2) }
public func Puzzle0() -> SKTexture { return textureAtlas.textureNamed(PUZZLE0) }
public func Puzzle1() -> SKTexture { return textureAtlas.textureNamed(PUZZLE1) }
public func Puzzle10() -> SKTexture { return textureAtlas.textureNamed(PUZZLE10) }
public func Puzzle11() -> SKTexture { return textureAtlas.textureNamed(PUZZLE11) }
public func Puzzle12() -> SKTexture { return textureAtlas.textureNamed(PUZZLE12) }
public func Puzzle13() -> SKTexture { return textureAtlas.textureNamed(PUZZLE13) }
public func Puzzle14() -> SKTexture { return textureAtlas.textureNamed(PUZZLE14) }
public func Puzzle15() -> SKTexture { return textureAtlas.textureNamed(PUZZLE15) }
public func Puzzle16() -> SKTexture { return textureAtlas.textureNamed(PUZZLE16) }
public func Puzzle17() -> SKTexture { return textureAtlas.textureNamed(PUZZLE17) }
public func Puzzle18() -> SKTexture { return textureAtlas.textureNamed(PUZZLE18) }
public func Puzzle19() -> SKTexture { return textureAtlas.textureNamed(PUZZLE19) }
public func Puzzle2() -> SKTexture { return textureAtlas.textureNamed(PUZZLE2) }
public func Puzzle20() -> SKTexture { return textureAtlas.textureNamed(PUZZLE20) }
public func Puzzle21() -> SKTexture { return textureAtlas.textureNamed(PUZZLE21) }
public func Puzzle22() -> SKTexture { return textureAtlas.textureNamed(PUZZLE22) }
public func Puzzle23() -> SKTexture { return textureAtlas.textureNamed(PUZZLE23) }
public func Puzzle24() -> SKTexture { return textureAtlas.textureNamed(PUZZLE24) }
public func Puzzle25() -> SKTexture { return textureAtlas.textureNamed(PUZZLE25) }
public func Puzzle26() -> SKTexture { return textureAtlas.textureNamed(PUZZLE26) }
public func Puzzle27() -> SKTexture { return textureAtlas.textureNamed(PUZZLE27) }
public func Puzzle28() -> SKTexture { return textureAtlas.textureNamed(PUZZLE28) }
public func Puzzle29() -> SKTexture { return textureAtlas.textureNamed(PUZZLE29) }
public func Puzzle3() -> SKTexture { return textureAtlas.textureNamed(PUZZLE3) }
public func Puzzle30() -> SKTexture { return textureAtlas.textureNamed(PUZZLE30) }
public func Puzzle31() -> SKTexture { return textureAtlas.textureNamed(PUZZLE31) }
public func Puzzle32() -> SKTexture { return textureAtlas.textureNamed(PUZZLE32) }
public func Puzzle33() -> SKTexture { return textureAtlas.textureNamed(PUZZLE33) }
public func Puzzle34() -> SKTexture { return textureAtlas.textureNamed(PUZZLE34) }
public func Puzzle35() -> SKTexture { return textureAtlas.textureNamed(PUZZLE35) }
public func Puzzle36() -> SKTexture { return textureAtlas.textureNamed(PUZZLE36) }
public func Puzzle37() -> SKTexture { return textureAtlas.textureNamed(PUZZLE37) }
public func Puzzle38() -> SKTexture { return textureAtlas.textureNamed(PUZZLE38) }
public func Puzzle39() -> SKTexture { return textureAtlas.textureNamed(PUZZLE39) }
public func Puzzle4() -> SKTexture { return textureAtlas.textureNamed(PUZZLE4) }
public func Puzzle40() -> SKTexture { return textureAtlas.textureNamed(PUZZLE40) }
public func Puzzle41() -> SKTexture { return textureAtlas.textureNamed(PUZZLE41) }
public func Puzzle5() -> SKTexture { return textureAtlas.textureNamed(PUZZLE5) }
public func Puzzle6() -> SKTexture { return textureAtlas.textureNamed(PUZZLE6) }
public func Puzzle7() -> SKTexture { return textureAtlas.textureNamed(PUZZLE7) }
public func Puzzle8() -> SKTexture { return textureAtlas.textureNamed(PUZZLE8) }
public func Puzzle9() -> SKTexture { return textureAtlas.textureNamed(PUZZLE9) }
// texture arrays for animations
public func Dancing() -> [SKTexture] {
return [
Dancing1(),
Dancing2()
]
}
public func Puzzle() -> [SKTexture] {
return [
Puzzle0(),
Puzzle1(),
Puzzle2(),
Puzzle3(),
Puzzle4(),
Puzzle5(),
Puzzle6(),
Puzzle7(),
Puzzle8(),
Puzzle9(),
Puzzle10(),
Puzzle11(),
Puzzle12(),
Puzzle13(),
Puzzle14(),
Puzzle15(),
Puzzle16(),
Puzzle17(),
Puzzle18(),
Puzzle19(),
Puzzle20(),
Puzzle21(),
Puzzle22(),
Puzzle23(),
Puzzle24(),
Puzzle25(),
Puzzle26(),
Puzzle27(),
Puzzle28(),
Puzzle29(),
Puzzle30(),
Puzzle31(),
Puzzle32(),
Puzzle33(),
Puzzle34(),
Puzzle35(),
Puzzle36(),
Puzzle37(),
Puzzle38(),
Puzzle39(),
Puzzle40(),
Puzzle41()
]
}
}
在我的主应用程序中,我使用以下代码调用框架:
import Foundation
import SpriteKit
import AVFoundation
import Framework_Dancing
class GameScene1: GameScene {
// not useful code for this problem is missing here...
let sheet = Statiques()
let sprite_dancing1 = SKPuzzleAnim(texture: sheet.Dancing1())
let sprite_dancing2 = SKPuzzleAnim(texture: sheet.Dancing2())
我的框架是 130 MB,这让我认为 Assets 正确地包含在其中,编译器没有收到任何错误,我在框架中缺少什么? Assets 一放到主项目,没有框架,一切OK。
所有图集均由TexturePacker生成。
这是我的 Xcode 项目的屏幕副本,其中包含框架中的代码:
谢谢你的帮助,
皮埃尔
最佳答案
我相信您会收到错误消息,因为您正在寻找主项目中的 Assets ,而不是框架项目中的 Assets 。
例如,如果你想显示存储在框架中的 UIImage,你必须这样写
let image = UIImage(named: "SomeImage", in: Bundle(identifier: "FrameworkBundleID"), compatibleWith: nil)
你可以在这里阅读更多相关信息
cocoa touch framework assets not visible in App Project
问题是 SKNode/SKSpriteNode 等没有类似的初始化程序,所以我不确定它是否有效。
希望对你有帮助
关于ios - iOS框架找不到Texture Atlas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40382937/
IO 设备如何知道属于它的内存中的值在memory mapped IO 中发生了变化? ? 例如,假设内存地址 0 专用于保存 VGA 设备的背景颜色。当我们更改 memory[0] 中的值时,VGA
我目前正在开发一个使用Facebook sdk登录(通过FBLoginView)的iOS应用。 一切正常,除了那些拥有较旧版本的facebook的人。 当他们按下“使用Facebook登录”按钮时,他
假设我有: this - is an - example - with some - dashesNSRange将使用`rangeOfString:@“-”拾取“-”的第一个实例,但是如果我只想要最后
Card.io SDK提供以下详细信息: 卡号,有效期,月份,年份,CVV和邮政编码。 如何从此SDK获取国家名称。 - (void)userDidProvideCreditCardInfo:(Car
iOS 应用程序如何从网络服务下载图片并在安装过程中将它们安装到用户的 iOS 设备上?可能吗? 最佳答案 您无法控制应用在用户设备上的安装,因此无法在安装过程中下载其他数据。 只需在安装后首次启动应
我曾经开发过一款企业版 iOS 产品,我们公司曾将其出售给大型企业,供他们的员工使用。 该应用程序通过 AppStore 提供,企业用户获得了公司特定的配置文件(包含应用程序配置文件)以启用他们有权使
我正在尝试将 Card.io SDK 集成到我的 iOS 应用程序中。我想为 CardIO ui 做一个简单的本地化,如更改取消按钮标题或“在此保留信用卡”提示文本。 我在 github 上找到了这个
我正在使用 CardIOView 和 CardIOViewDelegate 类,没有可以设置为 YES 的 BOOL 来扫描 collectCardholderName。我可以看到它在 CardIOP
我有一个集成了通话工具包的 voip 应用程序。每次我从我的 voip 应用程序调用时,都会在 native 电话应用程序中创建一个新的最近通话记录。我在 voip 应用程序中也有自定义联系人(电话应
iOS 应用程序如何知道应用程序打开时屏幕上是否已经有键盘?应用程序运行后,它可以接收键盘显示/隐藏通知。但是,如果应用程序在分屏模式下作为辅助应用程序打开,而主应用程序已经显示键盘,则辅助应用程序不
我在模拟器中收到以下错误: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedIm
如 Apple 文档所示,可以通过 EAAccessory Framework 与经过认证的配件(由 Apple 认证)进行通信。但是我有点困惑,因为一些帖子告诉我它也可以通过 CoreBluetoo
尽管现在的调试器已经很不错了,但有时找出应用程序中正在发生的事情的最好方法仍然是古老的 NSLog。当您连接到计算机时,这样做很容易; Xcode 会帮助弹出日志查看器面板,然后就可以了。当您不在办公
在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些有一个 Kontakt.io 信标的名称,它绑定(bind)到一个特定的 PoI(我的意思是通常贴在信标标签上的名称)。现在我想在附近发现信标,
我正在为警报提示创建一个 trigger.io 插件。尝试从警报提示返回数据。这是我的代码: // Prompt + (void)show_prompt:(ForgeTask*)task{
您好,我是 Apple iOS 的新手。我阅读并搜索了很多关于推送通知的文章,但我没有发现任何关于 APNS 从 io4 到 ios 6 的新更新的信息。任何人都可以向我提供 APNS 如何在 ios
UITabBar 的高度似乎在 iOS 7 和 8/9/10/11 之间发生了变化。我发布这个问题是为了让其他人轻松找到答案。 那么:在 iPhone 和 iPad 上的 iOS 8/9/10/11
我想我可以针对不同的 iOS 版本使用不同的 Storyboard。 由于 UI 的差异,我将创建下一个 Storyboard: Main_iPhone.storyboard Main_iPad.st
我正在写一些东西,我将使用设备的 iTunes 库中的一部分音轨来覆盖 2 个视频的组合,例如: AVMutableComposition* mixComposition = [[AVMutableC
我创建了一个简单的 iOS 程序,可以顺利编译并在 iPad 模拟器上运行良好。当我告诉 XCode 4 使用我连接的 iPad 设备时,无法编译相同的程序。问题似乎是当我尝试使用附加的 iPad 时
我是一名优秀的程序员,十分优秀!