是否有通知或其他机制被告知用户正在使用家庭/电源按钮截屏?
我已经看到线程想要禁用屏幕截图,但这不是我想要做的.
我有一个摄影师客户,他担心他的作品会被用户截图复制,我认为如果有机会在截图之前在图像上放置水印,这将减轻他的恐惧.
这不是一个问题,而是警告他人节省一些时间.
iOS 3/iPhone OS 3上的NSNotificationCenter(我还假设Mac OS X和iOS 4)具有以下行为:
如果多次注册自己的确切具体的通知,NSNotificationCenter将不认识的冗余和你已注册的观察,而不是将火过许多通知你.
这几乎不是你想要看到的行为,几乎总是偶然的.
例:
我希望我的视图控制器在新数据进入时从单例网络对象接收通知:
- (void) viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(newDataArrived:)
name:NewDataArrivedNotification
object:[NetworkListener sharedNetworkListener]];
}
Run Code Online (Sandbox Code Playgroud)
但早些时候我已经把同样的东西放在viewWillAppear:
- (void) viewWillAppear
{
[super viewWillAppear];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(newDataArrived:)
name:NewDataArrivedNotification
object:[NetworkListener sharedNetworkListener]];
}
Run Code Online (Sandbox Code Playgroud)
请注意,它是完全相同的通知,解析为相同的观察者,发件人和通知名称.
在这种情况下,如果我不删除其中一个addObserver调用,我将向我的视图控制器发送重复通知.
在多线程环境中,这是一个受到伤害的世界.相信我.
只是把它放在那里,以防有其他人遇到这样的事情.
我正在编写一些需要向图像/照片添加自定义字段的软件。特别适用于 iOS/OS X,但理想的解决方案是某种行业标准或与平台无关的方法。
EXIF 的评论字段实际上并不可行,因为许多照片管理/照片编辑应用程序允许用户直接编辑该字段。
目前我唯一合理的解决方案是使用 XMP sidecar 文件并在其中添加自定义标签,因为 XMP 正式要求每个读取 XMP 的应用程序忽略它不理解的任何标签。
Apple 平台上的问题在于,XMP 文件用于存储原始图像的编辑/增量,并且照片框架可能会认为它完全拥有该文件,并且在某些情况下可能会删除整个文件。
有谁知道有更适合的替代方案吗?
任何帮助将不胜感激。此时即使是个人意见也可能有所帮助。
iphone ×2
detection ×1
exif ×1
ios ×1
macos ×1
metadata ×1
photo ×1
screenshot ×1
user-defined ×1
xmp ×1